10/10/2018, 11:18

lọc điều kiện so sánh với chuỗi trong mysql

với biến $loaitin="abc" mình sử dụng câu lệnh sau:
' select * from thongtin where loaitin = " '.$loaitin.' " '
thì không thể truy vấn lấy đc kết quả từ dữ liệu, không biết sai ở đâu? các bác chỉ giúp. thanks!
zKeitherz viết 13:32 ngày 10/10/2018
"select * from thongtin where loaitin = '" . $loaitin . "'";

sữa lại như vậy xem
thuyduongcd viết 13:19 ngày 10/10/2018
Code:
$loaitin="abc";
$sql="SELECT * FROM thongtin WHERE loaitin=$loaitin";
Câu của bạn cũng không sai, chỉ thừa khoảng trắng giữa dấu " và ' nên truy vấn không ra
mcjambibi viết 13:31 ngày 10/10/2018
HIC ! các bác sai lầm ở dấu ' và " đó
' select * from thongtin where loaitin = " '.$loaitin.' " '

Đơn giản hơn nhất là
" select * from thongtin where loaitin = $loaitin"

Chạy 100% luôn !
bluewayvn viết 13:24 ngày 10/10/2018
Được gửi bởi mcjambibi
HIC ! các bác sai lầm ở dấu ' và " đó
' select * from thongtin where loaitin = " '.$loaitin.' " '

Đơn giản hơn nhất là
" select * from thongtin where loaitin = $loaitin"

Chạy 100% luôn !
Code của bạn chắc chắn sẽ không chạy được, vì nếu mà $loaitin là 1 string thì cái câu SQL đó bị lỗi cú pháp. Chỉ có thể sử dụng như thế khi $loaitin là một số int hay float gì đó mà thôi.

Cách tốt nhất là thế này:

PHP Code:
$sql "SELECT * FROM `thongtin` WHERE `loaitin`='" mysql_escape_string($loaitin) . "'"//lọc luôn sql injection 
Bài liên quan
0