10/10/2018, 10:23
xây dựng trang tìm kiếm
Em đang làm form tìm kiếm của trang web bán vé máy bay.
Cho em hỏi câu lệnh này của em có j sai ko ạ? :|
$query_lichbay = "SELECT lichbay.mahanghk, lichbay.madddi, lichbay.maddden, lichbay.ngaydi FROM lichbay WHERE lichbay.mahanghk = {$_POST['hanghk']} AND lichbay.madddi = {$_POST['noidi']} AND lichbay.maddden = {$_POST['noiden']} AND lichbay.ngaydi = $date";
Câu lệnh trên là ở trang kết quả tìm kiếm.
Nó cứ báo lỗi này là sao?
MySQL Error#: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '['hanghk']} AND lichbay.madddi = {$_POST['noidi']} AND lichbay.maddden = {$_POS' at line 1
Các bác xem giúp em nhá! Thanks các bác!!!
Cho em hỏi câu lệnh này của em có j sai ko ạ? :|
$query_lichbay = "SELECT lichbay.mahanghk, lichbay.madddi, lichbay.maddden, lichbay.ngaydi FROM lichbay WHERE lichbay.mahanghk = {$_POST['hanghk']} AND lichbay.madddi = {$_POST['noidi']} AND lichbay.maddden = {$_POST['noiden']} AND lichbay.ngaydi = $date";
Câu lệnh trên là ở trang kết quả tìm kiếm.
Nó cứ báo lỗi này là sao?
MySQL Error#: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '['hanghk']} AND lichbay.madddi = {$_POST['noidi']} AND lichbay.maddden = {$_POS' at line 1
Các bác xem giúp em nhá! Thanks các bác!!!
Bài liên quan
Chú ý: nếu so sánh là chuỗi thì chuỗi của bạn phải nằm trong dấu ' và ' (trong tr][ngf hợp của bạn).
Hơn nữa ngày của bạn định dạng ra sao (ngày nhập vào và ngày trong CSDL định dạng có giống nhau không).
bạn nên xử lý dữ liệu nhập vào trước khi đưa vào câu sql, không nên đem ngay dữ liệu post lên vào đó.
Thân!
$date = $_POST['year'].'-'.$_POST['month'].'-'.$_POST['day'];
Mình cũng sửa câu SQL như của bạn rồi, giờ thì nó báo lỗi:
MySQL Error#: 1054
Unknown column '$date' in 'where clause'.
Mình nghĩ câu lệnh xử lý ngày của mình đúng rồi mà. Hix
[=========> Bổ sung bài viết <=========]
hihi, mình vừa sửa đc rồi, ngố thật, Thanks bạn nha!!!
Unknown column 'VNA' in 'where clause'.
mà rõ ràng là trong CSDL có hẳn hoi. VNA là mã hãng hàng không trong bảng lịch bay. Các biến, tên đều đúng mà...
=> điều kiện cột mahanghk= cột VNA
Đúng ra phải là ... WHERE lichbay.mahanghk='VNA' AND ...
$hanghk = $_POST***91;'hanghk'***93;;
//sau đó mới cho vào lệnh sql
$sql = "SELECT * FROM lichbay WHERE lichbay.mahanghk = '".$hanghk."'";
//thực hiện như bình thường