sql >> Database >  >> RDS >> Mysql

Waarschuwing:mysqli_error() verwacht precies 1 parameter, 0 gegeven

Ik denk dat het probleem dat je hebt is omdat je objectgeoriënteerde en niet-OO-aanroepen naar de MySQLi-bibliotheek combineert.

De mysqli_error() functie vereist inderdaad een parameter -- het vereist de verbindingsvariabele; in jouw geval, $conn .

mysqli_error($conn)

Als je het echter op een OO-manier had geschreven, zoals je hebt gedaan voor de meeste andere database-aanroepen, zou je het als volgt hebben geschreven:

$conn->error

Aangezien de rest van uw code is geschreven met objectgeoriënteerde aanroepen, zou het logisch zijn om deze ook voor deze aanroep te gebruiken.

Uw volledige coderegel ziet er dus als volgt uit:

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

U kunt meer voorbeelden zien in de PHP-handleiding:http://php.net/manual /en/mysqli.error.php

Ik hoop dat dat helpt.

Wat betreft je vraag over het boek dat je gebruikt:ik kan niet direct commentaar geven op het boek zelf omdat ik het niet heb gelezen. Maar merk op dat er twee MySQL-bibliotheken zijn voor PHP; de oudere mysql bibliotheek, en de nieuwere mysqli bibliotheek. De oudere bibliotheek heeft ook een mysql_error() functie, die verschilt van de nieuwere doordat er geen verbindingsvariabele voor nodig is. Als er een fout staat in het boek dat u gebruikt, kan dit de oorzaak van de verwarring zijn.




  1. ECHO MYSQL RESULTAAT WEERGAVE LEGE PAGINA

  2. C# Te veel verbindingen in MySQL

  3. dit is fout ORA-12154:TNS:kon de opgegeven verbindings-ID niet oplossen?

  4. Hoe MySQL op CentOS te upgraden