php:

Heim  >  Artikel  >  Backend-Entwicklung  >  Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank

Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank

WBOY
WBOYOriginal
2016-08-04 09:20:162210Durchsuche

html:
Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank
php:
Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank
Der rote Kastenteil in PHP muss den Wert von name="new_title_info" in HTML erhalten , wie soll ich es hier schreiben? Ich habe unten $sql geschrieben, um zu sehen, dass der folgende Wert leer ist. Jetzt fordert die geänderte Methode zur Interpretation des Diagramms auf
Das Problem liegt immer noch in der Zeile $sql="...., wie kann man das ändern?Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank

Antwortinhalt:

html:


php:Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank

Der rote Kastenteil in PHP muss den Wert von name="new_title_info" in HTML erhalten , wie soll ich es hier schreiben? Ich habe unten $sql geschrieben, um zu sehen, dass der folgende Wert leer ist. Jetzt fordert die geänderte Methode zur Interpretation des Diagramms auf Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die DatenbankDas Problem liegt immer noch in der Zeile $sql="...., wie kann man das ändern?

Holen Sie sich den Eingabewert in HTML in PHP und schreiben Sie ihn in die Datenbank

Verwenden Sie Punkte, um Ihre Zeichenfolgen zu verketten. Obwohl dies nicht sicher ist. Es wird eher empfohlen, parametrisierte Abfragen zu verwenden

<code>$_POST('key') 在“ ”双引号里面的关联数组不需要加‘ ’单引号

$sql="insert into table() values('$_POST[key]')";</code>

Zuallererst kann Ihre rein handgeschriebene mysql_query einfach von SQL eingefügt werden. Zweitens: Wenn Sie vermuten, dass ein Problem mit der SQL-Anweisung vorliegt, wird empfohlen, zu überprüfen, ob der spezifische Wert den Erwartungen entspricht, einige Gültigkeitsbeurteilungen vorzunehmen und dann die SQL-Anweisung zu formulieren.

Einfach separat zu schreiben

$name = $_POST['new_title_info'];

$class = $_POST['new_class_info'];

$sql = "In Tabelle einfügen (xxx,xxx) Werte ($name,$class)";



Wenn Ihre Arbeitsgruppe eine Codeüberprüfung erfordert, werden Sie beschimpft...
Benutzereingabevariablen können wirklich nicht direkt in SQL eingefügt werden...

Außerdem...müssen Sie nur ausdrucken, was Sie möchten Erste SQL-Anweisung zusammengestellt ... Dann nehmen Sie die Anweisung einfach direkt in die Datenbank und führen Sie sie aus ... Ich schätze visuell, dass das Problem in den einfachen Anführungszeichen

liegt


Es scheint, dass es auch bei einfachen Anführungszeichen ein Problem gibt.

Drucken Sie die SQL-Anweisung aus und prüfen Sie, ob das Format korrekt ist. Führen Sie sie in MySQL aus und Sie werden das Problem sehen

Es wird nicht funktionieren, wenn Sie einfache Anführungszeichen verwenden, um

so zu zitieren. Einfache Anführungszeichen in

führen keine internen Variablen aus, Sie können sie einfach in doppelte Anführungszeichen ändern. In so vielen Antworten haben einige Leute darauf hingewiesen, dass es ein guter Vorschlag ist, durch

injiziert zu werden. Sie müssen die empfangenen Daten verarbeiten und maskieren, um eine SQL-Injection zu verhindern.

$_POST PHP"INSERT INTO Tabellenname (Spalten) Werte({$_POST['key']})",SQL

Zur besseren Lesbarkeit in geschweifte Klammern gesetzt

Nebenbei bemerkt: Alle Benutzereingaben müssen gefiltert und nicht direkt in die Datenbank eingefügt werden

Geschrieben in der Form $_POST[key].

übrigens!

Buchstabieren Sie SQL-Anweisungen nicht direkt, das ist nicht sicher. Um SQL-Injection-Angriffe zu verhindern, müssen Maßnahmen wie Vorverarbeitung ergriffen werden.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn