2017-04-06 2 views
-4

Hier ist meine Frage:Was ist eine PHP-Variable ohne Anführungszeichen?

Was ist eine PHP-Variable/Zeichenfolge ohne Anführungszeichen? Ich schrieb und ging unten der Code ist falsch:

$email = $_POST['email']; 

$query = "DELETE FROM email_list WHERE email = $email"; 

der richtige Code sollte sein:

$query = "DELETE FROM email_list WHERE email = '$email'"; 

So Variable $ E-Mail ist kein String ohne Anführungszeichen, auch wenn es, was ich Eingang in die bilden?

Dann schrieb ich einen Code in PHP:

echo($email."<br />"); 
echo("$email" ."<br />"); 

Das Ergebnis im Browser gleichen entpuppte. Also, warum sollte ich ein weiteres einfaches Anführungszeichen hinzufügen, um $ E-Mail einzuschließen, während es bereits in doppelte Anführungszeichen eingeschlossen ist?

+0

Haben Sie versucht, die Abfragen zu wiederholen? – Swellar

Antwort

0

Schreiben $email und "$email" gibt das gleiche aus. Schreiben "'$email'" nicht.

Im letzten Fall fügen Sie ein einzelnes Anführungszeichen vor und nach; welche von SQL benötigt werden, um eine Zeichenkette zu erkennen.

Wenn die Ersteller der SQL-Sprache entschieden hätten, dass Zeichenfolgen zwischen eingeschlossen werden müssten, müssten Sie "#$email#" schreiben, wenn die SQL-Engine die Zeichenfolge erkennen soll. Es hat nichts damit zu tun, wie PHP Zeichenketten behandelt oder interpoliert; Es hat mit SQL zu tun.

+0

Verstanden, deine Antwort ist sehr klar, danke !!! –

Verwandte Themen