sql >> Databasteknik >  >> RDS >> Mysql

mysql_fetch_assoc()-fel när data i mysql-fältet ändras

Du gör inga felkontroller i din fråga, så det är inte konstigt att den går sönder om frågan misslyckas. Hur man lägger till korrekt felkontroll beskrivs i manualen på mysql_query() eller i denna referensfråga.

Exempel:

$result = mysql_query($SQL);

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

din fråga går sönder eftersom du inte lindar in inmatningen med citattecken. Du kan undvika* citattecken endast för heltal (som 62ac1175 är inte). Prova

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

Dessutom är koden du visar sårbar för SQL-injektion . Använd korrekt sanitetsmetod för ditt bibliotek (som mysql_real_escape_string() för det klassiska mysql-biblioteket som du använder), eller byt till PDO och förberedda uttalanden.

I din kod skulle detta se ut så här:Istället för

$URL_ID = $_GET["a"];

gör

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

* men om du undviker citattecken, mysql_real_escape_string() kommer inte att fungera och du måste kontrollera manuellt om parametern faktiskt är ett heltal.




  1. Hur man lagrar videoinnehåll i SQLite-databasen (inte videosökvägen)

  2. Hur kan jag ställa in en storleksgräns för en int-datatyp i PostgreSQL 9.5

  3. PostgreSQL antal gånger delsträng förekommer i text

  4. MySQL lagrad procedur:OUT-parametern ställs inte in