PHP Doku:: Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation - function.mysql-errno.html

Verlauf / Chronik / History: (2) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenMySQLMySQL Funktionenmysql_errno

Ein Service von Reinhard Neidl - Webprogrammierung.

MySQL Funktionen

<<mysql_drop_db

mysql_error>>

mysql_errno

(PHP 4, PHP 5)

mysql_errno Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation

Beschreibung

int mysql_errno ([ resource $ Verbindungs-Kennung ] )

Liefert die Fehlernummer der letzten MySQL Funktion, oder 0 (Null) falls kein Fehler aufgetreten ist.

Fehler, die vom MySQL Server kommen, führen nicht mehr zu einer Ausgabe von Warnungen. Stattdessen sollten Sie die Funktion mysql_errno() verwenden, um die Fehlernummer zu erhalten. Beachten Sie, dass diese Funktion nur die Fehlernummer der zuletzt ausgeführten MySQL Funktion liefert (ausgeschlossen sind die Funktionen mysql_error() und mysql_errno()). Wenn Sie diese Funktion verwenden wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere MySQL Funktion aufrufen.

Beispiel #1 mysql_errno() Beispiel

<?php
$link 
mysql_connect("localhost""mysql_user""mysql_password");

if (!
mysql_select_db("db_nicht_vorhanden"$link)) {
    echo 
mysql_errno($link) . ": " mysql_error($link). "\n";
}

mysql_select_db("kossu"$link);
if (!
mysql_query("SELECT * FROM nicht_vorhandene_tabelle"$link)) {
    echo 
mysql_errno($link) . ": " mysql_error($link) . "\n";
}
?>

Das obige Beispiel führt zu dieser Ausgabe:

1049: Unknown database 'db_nicht_vorhanden'
1146: Table 'kossu.nicht_vorhandene_tabelle' doesn't exist

Hinweis:

Bei Angabe des optionalen Parameters wird die angegebene Verbindung benutzt um den Fehlercode zu erhalten. Fehlt diese Angabe, wird die zuletzt geöffnete Verbindung genutzt.

Siehe auch mysql_error() und » MySQL Fehler Codes.


5 BenutzerBeiträge:
- Beiträge aktualisieren...
timstamp.co.uk
25.06.2007 16:51
If you are receiving errors like:
Warning: mysql_close(): 5 is not a valid MySQL-Link resource

Check that you are calling mysql_error() and mysql_errno() BEFORE you call mysql_close().
simon at paarlberg dot dk
13.12.2005 12:40
Function for creating unique md5 keys in a database. If there are duplets, then a new md5-key will be generated. For your use:

  function users_md5create($id){
    global $mysql_link;

    while ($done==0) {
      $md5key = md5(time().($id/2).$loop).md5(time().$id.$loop);
      $query = "INSERT INTO users_md5create SET md5key='$md5key', fkey='$id', created=UNIX_TIMESTAMP() ";
      $mysql_result = mysql_query($query, $mysql_link);
      if(mysql_errno($mysql_link)!=1062) $done=1;
      $loop++;
    }
 
    return($md5key);
  }
phpnet at vemconcursos dot com
8.12.2005 3:31
Watch out! Although mysql_errno() supposedly returns the error number from the last MySQL function, if you don't specify a link identifier, it assumes the last link *opened*, NOT the last link *used*.

That means you can actually have mysql_errno() blindly ignore the error caused by the last MySQL function if it didn't use the last opened link.

Here's an example:

$link1 = mysql_connect('localhost', 'user1', 'password1');
$link2 = mysql_connect('localhost', 'user2', 'password2');

// do something wrong using the first link
mysql_select_db('nonexistentdb', $link1);

// if you don't specify the link identifier ...
if (mysql_errno()) {
  // the error from the last MySQL function is not reported
  echo mysql_errno() . ': ' . mysql_error() . "\n";
}
admin at artfabrique dot ru
18.10.2005 14:28
All MySQL ErrorCodes can be found in its' on-line manual.
For lazy one here is the link :
http://dev.mysql.com/doc/refman/5.0/en/error-handling.html
apoio at cyberspace dot org
30.06.2000 2:58
All mysqld error messages are located into the file /usr/local/share/mysql/english/errmsg.txt and listed in numerical order from 999 to 1175. You can change the output language as well, issuing the '-L spanish' option for example. See the manual for more details.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)