Hỏi câu lệnh select tới MySQL trong PHP

mn cho em hỏi vấn đề về syntax của php.
vd em khai báo

$a = 'abc' ;

thì khi xài lệnh này nó báo lỗi

$sl = "SELECT * FROM User WHERE username_ = $a";
$sl_ = mysql_query($sl);

nhưng khi xài lệnh trên mà thay trực tiếp giá trị $a là ‘abc’ thì lại đúng logic code
mn có cú pháp nào để lấy giá trị từ $a không ạ.

echo 2 cái chuỗi viết bằng 2 cách sẽ thấy khác biệt

1 Like

bạn hướng dẫn cụ thể được không bạn. Cái lỗi là do “SELECT * FROM User WHERE username_ = $a”; sai vì mình không biết cách nối chuỗi

Bạn đã biết là mình cần phải nối chuỗi rồi thì search cách nối chuỗi thôi chứ có gì đâu @@
Search phát ra ngay mà bạn : ‘PHP string concat’ hoặc đơn giản là ‘nối chuỗi PHP’

1 Like

NO, bạn đã nối chuỗi đúng rồi đấy. Lí do sai là do câu lệnh đó không phải "SELECT * FROM User WHERE username_ = $a"; mà phải là "SELECT * FROM User WHERE username_ = '$a'";
Lí do là:

Vì sao lại vậy: vì bạn thiếu cặp dấu ’ '. trước đó bạn có viết $a = 'abc'; cặp dấu ’ ’ chỉ đóng vai trò khai báo string. Giá trị của $a chỉ là abc chứ không phải 'abc'

1 Like

mình đã thực hiện như bạn nhưng vẫn báo lỗi cũ, mặc dù mình echo cái lệnh SELECT đó ra rồi copy vào myphpadmin để chạy và nó chạy đúng rồi

ak đc rồi, cảm ơn mn nhiều <3

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?