Entwickler-Ecke

Off Topic - [PHP] War mysql_query erfolgreich?


Marco D. - Di 02.01.07 22:16
Titel: [PHP] War mysql_query erfolgreich?
Wie kann ich nach einem mysql_query überprüfen, ob dieser erfolgreich war? Er kann ja z.B. Syntaxfehler enthalten. Ich habe keine entsprechende Funktion gefunden, die mir true/false zurückgibt.


jaenicke - Di 02.01.07 22:18

Das gibt dir die Funktion zurück. Wenn die Query nicht erfolgreich war, dann gibt die Funktion FALSE zurück...
Siehe Doku: http://de.php.net/mysql_query

// EDIT:
BTW: Ich kannte die Funktion nicht und hab das in ein paar Sekunden bei Google gefunden... :roll:
// EDIT2:
Erstes Suchergebnis. Und dort gibts auch ein Beispiel...


GTA-Place - Di 02.01.07 22:20


Quelltext
1:
2:
3:
4:
5:
6:
7:
$sql = mysql_query('Do Something');

if (!$sql) {
   $message  = 'Invalid query: ' . mysql_error() . "\n";
   $message .= 'Whole query: ' . $query;
   die($message);
}

Aber eigentlich sollest du error_reporting(E_ALL (| E_STRICT)*); aktiviert haben, dann bekommst du auch alle Fehler angezeigt.

*ab PHP 5.0


EDIT: GRML. Wieso bist du grundsätzlich schneller? Wird man das, wenn man älter wird? :mrgreen:


Marco D. - Di 02.01.07 22:21

user profile iconjaenicke hat folgendes geschrieben:
Das gibt dir die Funktion zurück. Wenn die Query nicht erfolgreich war, dann gibt die Funktion FALSE zurück...
Siehe Doku: http://de.php.net/mysql_query

Hatte bei selfphp.de geguckt und da stand nichts von false. Nur dass der Rückgabewert 'resource' ist. :roll:


jaenicke - Di 02.01.07 22:22

user profile iconMarco D. hat folgendes geschrieben:
user profile iconjaenicke hat folgendes geschrieben:
Das gibt dir die Funktion zurück. Wenn die Query nicht erfolgreich war, dann gibt die Funktion FALSE zurück...
Siehe Doku: http://de.php.net/mysql_query

Hatte bei selfphp.de geguckt und da stand nichts von false. Nur dass der Rückgabewert 'resource' ist. :roll:

Ja? Wo? :lol: // EDIT: Ach ja, bei SelfPHP, ok, überlesen... Das Zitat ist aus dem Manual...
Zitat:
Return Values
For SELECT, SHOW, DESCRIBE or EXPLAIN statements, mysql_query() returns a resource on success, or FALSE on error.


GTA-Place - Di 02.01.07 22:24

Merke: Das Manual ist grundsätzlich zuerst zu beachten, denn nur das wurde von den "Profis" selbst erstellt.


Marco D. - Di 02.01.07 22:28

Selfphp [http://www.selfphp.de/funktionsreferenz/mysql_funktionen/mysql_query.php]:
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )

Aber weiter unten stehts dann doch, habe nur die Definition angeschaut. Dann hätte dort aber auch was von bool stehen müssen. :roll:

user profile iconGTA-Place hat folgendes geschrieben:
Merke: Das Manual ist grundsätzlich zuerst zu beachten, denn nur das wurde von den "Profis" selbst erstellt.

Ja, stelle ich auch gerade fest.


jaenicke - Di 02.01.07 22:32

user profile iconMarco D. hat folgendes geschrieben:
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )

Aber weiter unten stehts dann doch, habe nur die Definition angeschaut. Dann hätte dort aber auch was von bool stehen müssen. :roll:

Ich vermute, dass die gedacht haben, das sei klar. Denn das ist ja üblich bei PHP, das so zu machen. ;-)
Das ist allerdings etwas schwach, dass dort nicht alle möglichen Rückgabewerte aufgelistet stehen. Egal, Hauptsache es steht im Manual. (Und Hauptsache, das Ergebnis im Manual wird als erstes bei Google gefunden. ;-))


Marco D. - Di 02.01.07 22:38

user profile iconjaenicke hat folgendes geschrieben:
user profile iconMarco D. hat folgendes geschrieben:
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )

Aber weiter unten stehts dann doch, habe nur die Definition angeschaut. Dann hätte dort aber auch was von bool stehen müssen. :roll:

Ich vermute, dass die gedacht haben, das sei klar. Denn das ist ja üblich bei PHP, das so zu machen. ;-)
Das ist allerdings etwas schwach, dass dort nicht alle möglichen Rückgabewerte aufgelistet stehen. Egal, Hauptsache es steht im Manual. (Und Hauptsache, das Ergebnis im Manual wird als erstes bei Google gefunden. ;-))

Ok, dann danke ich für deine Hilfe. :zwinker:


GTA-Place - Di 02.01.07 22:40

Und mir nicht? :lol:


Marco D. - Di 02.01.07 22:48

user profile iconGTA-Place hat folgendes geschrieben:
Und mir nicht? :lol:

Ja, dir natürlich auch! :mrgreen:


BenBE - Mo 08.01.07 20:44

Bliebe allerdings noch die Frage, wie das für UPDATE, DELETE, INSERT, DROP, CREATE * ALTER usw. gehandhabt wird ...

Dazu hab ich bisher nichts eindeutiges gefunden ...