00 Stimmen

PHP: MySQL Abfrage innerhalb einer Funktion

Frage von Chematik | 26.12.2011 um 18:06

Ich habe möchte eine MySQL Abfrage in einer Funktion in PHP ausführen. Mein Code sieht etwa so aus, alles was unwichtig ist, habe ich mal rausgelassen und stattdessen die drei Punkte geschrieben.

function CheckID($id) {
   $anfrage = "... WHERE id = $id";
   mysql_db_query($db, $anfrage, $verb);
}

//...

//Aufruf der Funktion führt zum Fehler:
CheckID($id); 

//Identischer Code aus der Funktion an selber Stelle
//funktioniert einwandfrei:
$anfrage = "... WHERE id = $id";
mysql_db_query($db, $anfrage, $verb);

Nun führt dies aber permanent zu dieser Fehlermeldung:

Warning: mysql_db_query() expects parameter 3 to be resource, 
null given in XXX.php on line 16

Warning: mysql_fetch_row() expects parameter 1 to be resource, 
null given in XXX.php on line 17

Ich habe keine Ahnung, wo der Fehler steckt. Denn wenn ich statt dem Aufruf der Funktion an der selben Stelle den Code aus der Funktion aufschreibe, funktioniert alles einwandfrei!

AntwortenPositivNegativDatumStimmen
3Beste Antwort3 Stimmen

Ich nehme an, es liegt an deinen Variablen $db und $verb, die du vermutlich mit einem include() außerhalb der Funktion einbindest. Das führt allerdings dazu, dass die beiden Variablen innerhalb der Funktion nicht definiert sind und so kommt es zu den entsprechenden Fehlermeldungen, dass die Parameter nicht definiert sind.

Probiere es mal so, indem du die Parameter an die Funktion übergibst und damit auch innerhalb der Funktion verfügbar machst:

function CheckID($id, $db, $verb) { /*...*/ }

//Aufruf:
CheckID($id, $db, $verb);

Alternativ könntest du die Variablen innerhalb der Funktion auch neu definieren oder neu einbinden.
29.12.2011 um 07:34

AntwortenPositiv Negativ
00 Stimmen

Danke, vielen Dank! Mein Tag ist gerettet! Du glaubst nicht, wie lange ich an dieser Funktion saß und nicht weiter machen konnte und schon dachte, ich müsste jetzt an jeder Stelle den Code reinschreiben! Das wäre ja niemals mehr zu warten gewesen!

Aber genau das war der Fehler!! Da wäre ich nie selber drauf gekommen!!!
31.12.2011 um 17:05

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Zeit und Performance messen

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.