sql >> Database >  >> RDS >> Mysql

php waarschuwing mysql_fetch_assoc

Over het algemeen worden de mysql_*-functies als volgt gebruikt:

$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
}

Als je iets doorgeeft aan mysql_fetch_assoc dat geen MySQL-resultaatbron is (of het nu een string, een object of een boolean is), zal de functie klagen dat hij niet weet wat hij met de parameter moet doen; dat is precies wat je ziet.

Een veelvoorkomend probleem :u krijgt deze waarschuwing als u iets (anders dan een geldige queryreeks) doorgeeft aan 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. pip install mislukt met /usr/bin/clang:Geen dergelijk bestand of map

  2. Correcte manier om invoer in MySQL op te schonen met behulp van PDO

  3. Datum ophalen in sql-server, CURRENT_TIMESTAMP vs GetDate()

  4. DBCA Database maken slecht REMOTE_LISTENER