sql >> Databasteknik >  >> RDS >> Mysql

php-varning mysql_fetch_assoc

I allmänhet används mysql_*-funktionerna enligt följande:

$id = 1234;
$query = 'SELECT name, genre FROM sometable WHERE id=' . $id;
// $query is a string with the MySQL query
$resource = mysql_query($query);
// $resource is a *MySQL result resource* - a mere link to the result set
while ($row = mysql_fetch_assoc($resource)) { 
    // $row is an associative array from the result set
    print_r($row);
    // do something with $row
}

Om du skickar något till mysql_fetch_assoc som inte är en MySQL-resultatresurs (oavsett om det är en sträng, ett objekt eller en boolean), kommer funktionen att klaga på att den inte vet vad den ska göra med parametern; vilket är exakt vad du ser.

En vanlig gotcha :du får den här varningen om du skickar något (annat än en giltig frågesträng) till mysql_query :

$id = null;
$query = 'SELECT name, genre FROM sometable WHERE id=' . $id;
$res = mysql_query($query); 
// $res === FALSE because the query was invalid
// ( "SELECT name, genre FROM sometable WHERE id=" is not a valid query )
mysql_fetch_assoc($res); 
// Warning: don't know what to do with FALSE, as it's not a MySQL result resource


  1. LIMIT nyckelord på MySQL med förberett uttalande

  2. hur man använder tns-poster med makromedia-drivrutiner för Oracle

  3. MySQL kontrollera om två datumintervall överlappar med indata

  4. Skapa ett foder från flera rälsmodeller, effektivt?