Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warnung:mysqli_error() erwartet genau 1 Parameter, 0 gegeben

Ich denke, das Problem, das Sie haben, liegt darin, dass Sie objektorientierte und Nicht-OO-Aufrufe an die MySQLi-Bibliothek kombinieren.

Der mysqli_error() Die Funktion benötigt tatsächlich einen Parameter - sie benötigt die Verbindungsvariable; in Ihrem Fall $conn .

mysqli_error($conn)

Wenn Sie es jedoch in OO-Manier geschrieben hätten, wie Sie es für die meisten anderen Datenbankaufrufe getan haben, hätten Sie es so geschrieben:

$conn->error

Da der gesamte Rest Ihres Codes mit objektorientierten Aufrufen geschrieben wird, wäre es sinnvoll, ihn auch für diesen Aufruf zu verwenden.

Ihre vollständige Codezeile würde also so aussehen:

$result = $conn->query($sql) or die($conn->error);

Weitere Beispiele finden Sie im PHP-Handbuch:http://php.net/manual /de/mysqli.error.php

Hoffe das hilft.

In Bezug auf Ihre Frage zu dem von Ihnen verwendeten Buch:Ich kann das Buch selbst nicht direkt kommentieren, da ich es nicht gelesen habe. Aber beachten Sie, dass es zwei MySQL-Bibliotheken für PHP gibt; das ältere mysql Bibliothek und das neuere mysqli Bibliothek. Die ältere Bibliothek hat auch einen mysql_error() Funktion, die sich von der neueren dadurch unterscheidet, dass sie keine Verbindungsvariable benötigt. Wenn das von Ihnen verwendete Buch einen Fehler enthält, kann dies die Ursache für die Verwirrung sein.