ตัวอย่างโค๊ด การวิวค่า ที่ผิด ไม่ได้ป้องกัน sql injection
$sql = 'select * from tablename where id='.$_POST['id'] . ' and catid = 123';
ซึ่ง สามารถใส่ค่า $_POST['id'] เข้ามาเป็น 0 or 0; SHOW TABLES; #
เมื่อแทนค่าก็จะเป็น
select * from tablename where id=0 or 0; SHOW TABLES; # and catid = 123';
แยกส่วนการทำงาน
select * from tablename where id=0 or 0; ไม่แสดงข้อมูล เพราะหาไม่เจอ และไม่ต้องการ
SHOW TABLES; แสดงรายชื่อตารางทั้งหมด
# and catid = 123'; หลง # ไม่ทำงาน
เมื่อได้ตารางทั้งหมด ก็จะต่อด้วย
SHOW COLUMNS FROM tablename; แสดงรายชื่อ ฟีลด์ทั้งหมดของตาราง
เสร็จแล้วจะ update เอง
UPDATE tableที่ได้ SET ฟีลด์ที่ได้ = ข้อมูลใหม่