Sto imparando PDO e mi sto confondendo molto, ho questo codice qui sotto e tutto mi sembra giusto comunque sto ricevendo questo codice di errore e non so cosa devo fare per sistemarlo , please help me: CodiceConnessione PDQ MySql al database
<?php
$hostname='localhost';
$username='root';
$password='';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=stickercollections",$username,$password);
echo 'Connected to Database<br/>';
$sql = "SELECT * FROM stickercollections";
foreach ($dbh->query($sql) as $row)
{
echo $row["collection_brand"] ." - ". $row["collection_year"] ."<br/>";
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
errore: Invalid argument supplied for foreach() in /Applications/XAMPP/xamppfiles/htdocs/GOTSWAPMAIN/index.php on line 11
'var_dump ($ dbh-> query ($ sql)) '--- controlla sempre cosa c'è dentro le variabili e quali espressioni restituiscono invece di indovinare – zerkms
Come suggerito da zerkms, sembra che la query non funzioni e restituisca quindi false invece di una PDOStatement iterabile. Sembra che tu stia cercando di usare PDO con le eccezioni. Se la connessione fosse configurata per utilizzare le eccezioni, non si otterrebbe questo errore di argomento non valido poiché verrebbe generata un'eccezione (e quindi il foreach non verrebbe mai eseguito). Devi comunque dire alla connessione di lanciare le eccezioni, o visualizzare il quarto parametro del costrutto PDO :: __ o tramite '$ dbh-> setAttribute'. – Corbin