Mysql
 sql >> Database >  >> RDS >> Mysql

Avvertimento:mysqli_error() si aspetta esattamente 1 parametro, 0 dato

Penso che il problema che stai riscontrando sia dovuto al fatto che stai combinando chiamate orientate agli oggetti e non OO alla libreria MySQLi.

Il mysqli_error() la funzione richiede infatti un parametro -- richiede la variabile di connessione; nel tuo caso, $conn .

mysqli_error($conn)

Tuttavia, se l'avessi scritto in modo OO, come hai fatto per la maggior parte delle altre chiamate al database, l'avresti scritto in questo modo:

$conn->error

Poiché tutto il resto del codice viene scritto utilizzando chiamate orientate agli oggetti, avrebbe senso usarlo anche per questa chiamata.

Quindi la tua riga di codice completa sarebbe simile a questa:

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

Puoi vedere altri esempi nel manuale PHP:http://php.net/manual /it/mysqli.error.php

Spero di esserti stato d'aiuto.

Per quanto riguarda la tua domanda sul libro che stai utilizzando:non posso commentare direttamente il libro in quanto non l'ho letto. Ma nota che ci sono due librerie MySQL per PHP; il vecchio mysql libreria e il più recente mysqli biblioteca. La libreria precedente ha anche un mysql_error() funzione, che differisce da quella più recente in quanto non richiede una variabile di connessione. Se c'è un errore nel libro che stai usando, questa potrebbe essere la fonte della confusione.