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

MySQL non elimina i record

Impara la sintassi di base delle stringhe PHP:

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

Stai generando la stringa di query letterale

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

Nota come il tuo cattivo tentativo di concatenazione di stringhe PHP è effettivamente diventato parte della stringa di query. sei già IN una stringa php, quindi non puoi eseguire PHP all'interno di quella stringa - PHP non è incorporabile/eseguibile in modo ricorsivo.

Uno di questi funzionerebbe:

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

ma ovviamente, ti lascia comunque vulnerabile agli attacchi sql injection .