Heim > Backend-Entwicklung > PHP-Tutorial > Das Bedingungsfeld und der Tabellenfeldname in SQL sind identisch, was zu einer vollständigen Tabellenabfrage führt

Das Bedingungsfeld und der Tabellenfeldname in SQL sind identisch, was zu einer vollständigen Tabellenabfrage führt

WBOY
Freigeben: 2016-08-18 09:15:29
Original
1470 Leute haben es durchsucht

Hallo zusammen, ich bin ein Neuling hier. In der Praxis habe ich einen Satz gefunden, der dem folgenden ähnelt:

<code>SELECT * FROM seller_item_classify where sid=$sid order by cweight asc ;
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wobei $sid der vom Frontend übergebene Wert ist, seller_item_classify die Angabe und sid ein Feldname in der Tabelle ist;
Wenn der von $sid übergebene Wert zufällig „sid“ ist, wird die SQL-Anweisung verwendet wird ungültig sein, was zu einer vollständigen Tabellenabfrage führt

Da der Wert von $sid in einer Produktionsumgebung ein numerischer Wert oder ein Zeichen sein kann, sollte ich den Front-End-Eingabewert in PHP filtern?

Was halten Sie von diesem Problem?

Antwortinhalt:

Hallo zusammen, ich bin ein Neuling hier. In der Praxis habe ich einen Satz gefunden, der dem folgenden ähnelt:

<code>SELECT * FROM seller_item_classify where sid=$sid order by cweight asc ;
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Wobei $sid der vom Frontend übergebene Wert ist, seller_item_classify die Angabe und sid ein Feldname in der Tabelle ist;

Wenn der von $sid übergebene Wert zufällig „sid“ ist, wird die SQL-Anweisung verwendet wird ungültig sein, was zu einer vollständigen Tabellenabfrage führt
Da der Wert von $sid in einer Produktionsumgebung ein numerischer Wert oder ein Zeichen sein kann, sollte ich den Front-End-Eingabewert in PHP filtern?

Was halten Sie von diesem Problem?

<code>"SELECT * FROM seller_item_classify where sid='$sid' order by cweight asc ;"</code>
Nach dem Login kopieren
Für Front-End-Eingabewerte muss das Back-End filtern, und es wird empfohlen, die SQL-Vorverarbeitung zu verwenden.

Fügen Sie '' zu SQL-Bedingungswerten hinzu

<code>sid = '$sid'</code>
Nach dem Login kopieren

Funktioniert es?

as 别名

Fügen Sie einfache Anführungszeichen hinzu, um das Problem zu lösen

'SELECT * FROM seller_item_classify where sid='.$sid.' order by cweight asc ;'

PDO-Vorverarbeitung verwenden


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage