2009-02-27 11 views
-1

Ich fühle mich wie ein Total n00b für nicht zu verstehen, was ich falsch mache, aber hier geht.PHP mysqli unerwarteter Parameter Frage

Ich schreibe ein einfaches Webformular, das Informationen in einer MySQL-Datenbank speichert. Ich erhalte diese Fehlermeldung:

mysqli_stmt_init() expects parameter 1 to be mysqli, null given in /myfile.php 

Hier ist mein Code:

$server = 'localhost'; 
$username = 'myusername'; 
$password = 'mypassword'; 
$db = 'mydb'; 
$link = mysqli_connect($server, $username, $password, $db); 
. 
. 
. 
$stmt = mysqli_stmt_init($link); /*This line throws the error*/ 

Irgendwelche Ideen? Danke im Voraus.

+0

Mein Problem war mein variabler Bereich (nach dem Teilen meiner Funktionen. Funktioniert nicht wie Java :) Danke Paolo für diese error_reporting (E_ALL); Spitze! – mclaughlinj

Antwort

3

Sind Sie 100% sicher, dass Sie erfolgreich eine Verbindung zur Datenbank herstellen?

am Anfang des Skripts hinzufügen:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

Auch direkt unterhalb der Verbindungslinie hinzufügen:

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s", mysqli_connect_error()); 
    exit; 
} 
+0

Ja, ich habe vor der $ stmt-Deklaration eine einfache Überprüfung ausgeführt if ($ link) {$ stmt = mysqli_stmt_init ($ link); } Das sollte funktionieren, oder? – mclaughlinj

+0

Macht nichts, du hast Recht ... Variabler Bereich hat mich gebissen. Vielen Dank! – mclaughlinj

0

Wenn dies Ihr dev Server ist Sie wahrscheinlich die folgenden Zeilen in Ihrer PHP setzen sollten .ini-Datei statt in jedem Skript.

error_reporting = E_ALL display_errors = auf

wenn das löst nicht ihr Problem, als Sie unsere $ link gedruckt werden soll, um zu sehen, was es ist.