sql >> Database >  >> RDS >> Mysql

MySQL verwijdert geen records

Leer de basissyntaxis van PHP-tekenreeksen:

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

U genereert de letterlijke zoekreeks

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

Merk op hoe uw slechte poging tot het samenvoegen van PHP-tekenreeksen feitelijk onderdeel werd van de queryreeks. je bent al IN een php-tekenreeks, dus je kunt geen PHP binnen die tekenreeks uitvoeren - PHP is niet recursief insluitbaar/uitvoerbaar.

Elk van deze zou werken:

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

maar je blijft natuurlijk kwetsbaar voor sql-injectie-aanvallen .



  1. MySQL-installatie

  2. ) Operator voor beginners

  3. Ik wil de database herstellen met een ander schema

  4. Microsoft SQL Server-equivalent van MySQL REGEXP