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

mysql_fetch_assoc() błąd podczas zmiany danych w polu mysql

Nie sprawdzasz żadnych błędów w zapytaniu, więc nic dziwnego, że kończy się niepowodzeniem. Jak dodać prawidłowe sprawdzanie błędów opisano w podręczniku mysql_query() lub w tym pytanie referencyjne.

Przykład:

$result = mysql_query($SQL);

if (!$result)
 { trigger_error("mySQL error: ".mysql_error());
   die(); }

Twoje zapytanie nie działa, ponieważ nie umieszczasz danych wejściowych w cudzysłowie. Możesz uniknąć* cudzysłowów tylko dla liczb całkowitych (które 62ac1175 nie jest). Wypróbuj

$SQL = "SELECT * FROM tb_employees WHERE URL_ID = '$URL_ID'";

Ponadto wyświetlany kod jest podatny na wstrzyknięcie SQL . Użyj odpowiedniej metody oczyszczania swojej biblioteki (np. mysql_real_escape_string() dla klasycznej biblioteki mysql, której używasz) lub przełącz się na PDO i gotowe instrukcje.

W twoim kodzie wyglądałoby to tak:Zamiast

$URL_ID = $_GET["a"];

zrobić

$URL_ID = mysql_real_escape_string($_GET["a"]);

* jednak, jeśli unikasz cudzysłowów, mysql_real_escape_string() nie zadziała i musisz ręcznie sprawdzić, czy parametr faktycznie jest liczbą całkowitą.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORDER BY RAND() wydaje się być mniej niż losowy

  2. Wypełnianie DataTable w C# przy użyciu MySQL

  3. Zadeklarować zmienną w Bash?

  4. Jak zrobić wewnętrzne złącze w django?

  5. Czy przy indeksie wielokolumnowym potrzebny jest indeks jednokolumnowy?