sql >> Database teknologi >  >> RDS >> Mysql

MySQL sletter ikke poster

Lær grundlæggende PHP-strengsyntaks:

$sql = "DELETE FROM sv_info WHERE id='.$id.' LIMIT 1";
       ^--start of PHP string                       ^---end of PHP string

Du genererer den bogstavelige forespørgselsstreng

DELETE FROM sv_info WHERE id='.4.' LIMIT 1

Bemærk, hvordan dit dårlige forsøg på PHP-strengsammenkædning faktisk blev en del af forespørgselsstrengen. du er allerede IN en php-streng, så du kan ikke udføre PHP inde i den streng - PHP kan ikke indlejres/eksekveres rekursivt.

Hver af disse ville fungere:

$sql = "DELETE FROM sv_info WHERE id='$id' LIMIT 1";
$sql = "DELETE FROM sv_info WHERE id='" . $id . "' LIMIT 1";

men efterlader dig selvfølgelig stadig sårbar over for sql-injektionsangreb .



  1. Erklæring og initialisering af variabler på samme linje i VBA

  2. PDO PHP indsæt i DB fra et associativt array

  3. INSERT SELECT-sætning i Oracle 11G

  4. understøtter rails postgres adapter ssl?