sql >> Base de Datos >  >> RDS >> Mysql

MySQL no elimina registros

Aprenda la sintaxis básica de cadenas PHP:

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

Estás generando la cadena de consulta literal

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

Tenga en cuenta cómo su mal intento de concatenación de cadenas de PHP en realidad se convirtió en parte de la cadena de consulta. ya estás ENTRADO una cadena php, por lo que no puede ejecutar PHP dentro de esa cadena:PHP no se puede incrustar/ejecutar recursivamente.

Cualquiera de estos funcionaría:

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

pero, por supuesto, sigue siendo vulnerable a ataques de inyección de sql .