Vấn đề về việc truy xuất một dữ liệu trong MySQL
Mình dùng câu lệnh này để truy xuất dữ liệu từ MySQL. Mình muốn lấy giá trị ở cột MAB ở hàng cuối cùng (hàng mà cột id có giá trị MAX).
sotruyxuat = “SELECT
MAB
FROM01_ddg_bgg
WHERE MAX(id
)”;
echo $sotruyxuat;
Kết quả echo ra là: “SELECT MAB
FROM 01_ddg_bgg
WHERE MAX(id
)” chứ không phải giá trị cần truy xuất ra. Theo mình hiểu thì biến sotruyxuat của mình được gán là chuỗi ký tự kia luôn chứ không phải là giá trị được select từ MySQL. Mọi người có thể xem giúp mình làm sao để lấy giá trị cần thiết ra ngoài không ạ.
Mắc cười quá… hahaha. anyway. mới nghiên cứu mà có thể trình bày như vầy là tốt rồi.
Vấn đề của bạn nằm ở chỗ câu truy vấn của bạn là một chuỗi, chưa có tác động gì đến CSDL cả.
Bạn muốn làm việc với CSDL nào thì hãy tìm và đọc thêm về API của CSDL đó.
http://php.net/manual/en/mysqlinfo.api.choosing.php
Cảm ơn bạn
@taisang m ơn bạn mình đã truy xuất được dữ liệu đúng vị trí cần truy xuất. Mình xử dụng cú pháp trên php.
Nhưng mình có một vấn đề muốn nhờ bạn tư vấn chút. Cột dữ liệu mình có cấu trúc như sau
[id][field1][field2][field3]field4[field5]
Id mình tăng dần theo mỗi lần dữ liệu insert vào. Mình muốn lấy ra một giá trị nào đó ở hàng id cuối cùng (dữ liệu insert gần nhất id max). Nhưng không thể select theo MAX(id).
Liệu mình có phải selech lấy giá trị lớn nhất ở cột id, gán vào một biến, rồi lại selech dự theo where id= “biến” không? Hay có giải pháp nào tốt hơn.
Mình đã tìm được giải pháp. Đưa lên cho bạn nào cần tìm
Nên hạn chế viết sub query và tận dụng những hàm có sẵn.
MySQL đã có sẵn hàm để lấy id được insert gần nhất : LAST_INSERT_ID()
Một số lời khuyên bên lề (có lẽ hơi thiên về kỹ năng và kinh nghiệm):
Cảm ơn lời khuyên của bạn