Per favore dimmi cosa ho fatto di sbagliato? E come lavorare meglio con la base? La connessione funziona, ma non riesco a vedere le informazioni dalla base. Ho appena ricevuto:Connessione PHP OOP e MySQLi = Errore irreversibile: chiamata al metodo non definito mysqli :: arrayQuery()
Fatal error: Call to undefined method mysqli::arrayQuery()
Non riesco a capire come risolvere il problema, Google non ha aiutato neanche.
<?php
class Proc{
protected $DB;
function __construct(){
$this->DB=new mysqli('localhost', 'user', 'password', 'basename');
$this->DB->query("set names utf8");}
function __destruct(){unset($this->DB);}
function GetAll(){
$sql="SELECT * FROM users";
$result = $this->DB->arrayQuery($sql, SQLITE_ASSOC);
return $result;}
}
$Yo = new Proc();
$users = $Yo->GetAll();
echo "All users: ".count($users);
foreach ($users as $user){
$id = $user["ID"];
$n = $user["Name"];
echo "{$id} - {$n}<br/>";}
?>
Una piccola correzione e tutto funziona perfettamente! Grazie a tutti!
<?php
class Proc{
protected $DB;
function __construct(){
$this->DB=new PDO("mysql:host=localhost;dbname=basename", user, password);
$this->DB->query("set names utf8");}
function __destruct(){unset($this->DB);}
function GetAll(){
$sql="SELECT * FROM users";
$result = $this->DB->query($sql);
return $result;}
}
$Yo = new Proc();
$users = $Yo->GetAll();
foreach ($users as $user){
$id = $user["ID"];
$n = $user["Name"];
echo "{$id} - {$n}<br/>";}
?>
Chiama per metodo non definito mysqli :: arrayQuery() - intendo messaggio di errore è Cear, no? – panther
Puoi pubblicare questa funzione 'arrayQuery' se lo hai –
Il controllo http://php.net/manual/en/book.mysqli.php rivela che' arrayQuery' non è disponibile (la classe mysqli non ha un tale metodo). Inoltre, potrebbe essere meglio passare a PDO –