-
problemi con mysqli
ciao a tutti sto avendo un problema con mysqli vi posto il code:
Codice PHP:
class database{
public $host="localhost";
public $user="root";
public $password="xxxxxxx";
public $db="data";
public $dbcomm;
public $result;
function connect(){
$this->dbcomm=new mysqli($this->host,$this->user,$this->password,$this->db) or die (mysqli_error());
}
function query($query){
if(!$this->result=mysqli_query($this->dbcomm,$query)){
return "error";
}else{
return $this->result;
}
}
function disconnect(){
mysqli_close($this->dbcomm);
}
}
$database=new database();
$database->connect();
...
$sql="INSERT INTO preacquisti (IDAcq, IDShop, IDCliente, IDarticoli, Quantita, Prezzi) VALUES ('$idacq', '$idshop', '$idcliente', '$idarticoli', '$quantita', '$prezzi')";
$query=$database->query($sql);
l'errore è il seguente:
Warning: mysqli_error() expects exactly 1 parameter, 0 given
Quello che non capisco e che la query me la fa e pure bene perche nel database vi inserisce tutti i dati, ma allora perchè da questo errore? :confused::confused::confused:
-
Non è un errore, è un avvertimento (warning) che ti segnala che la funzione mysqli_error necessita di esattamente un parametro, tu non ne passi alcuno.
In generale, la procedura che usi per instaurare la connessione è scorretta, in quanto la creazione dell'oggetto mysqli restituirà sempre un valore che non porterà mai all'esecuzione del codice dopo quell'or, inoltre usi all'inizio la sintassi orientata agli oggetti mentre dopo usi le funzioni procedurali, anche se non è un errore è un po' incoerente.
Per la procedura corretta, consulta gli esempi della documentazione ufficiale.
-
in che senso non passo un paramentro?
Mi puoi spiegare in parole povere il perche è sbagliato la creazione dell'oggetto mysqli?
Grazie.