Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ostrzeżenie php mysql_fetch_assoc

Ogólnie funkcje mysql_* są używane w następujący sposób:

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

Jeśli przekażesz coś do mysql_fetch_assoc, co nie jest zasobem wynikowym MySQL (niezależnie od tego, czy jest to ciąg znaków, obiekt, czy wartość logiczna), funkcja będzie skarżyć się, że nie wie, co zrobić z parametrem; czyli dokładnie to, co widzisz.

Powszechna wpadka :otrzymasz to ostrzeżenie, jeśli przekażesz coś (innego niż prawidłowy ciąg zapytania) do 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ostrzeżenie:mysql_result() oczekuje, że parametr 1 będzie zasobem, podana wartość logiczna

  2. Jak zaktualizować dwie tabele w jednym zestawieniu?

  3. OperationalError:(2002, Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/var/run/mysqld/mysqld.sock' (2))

  4. Zmiana czcionki w MySQL Workbench

  5. Kolumny bitowe MySql zwracają dziwnie dużą liczbę w PHP 7.1 (nie w poprzednich wersjach)