Tôi sử dụng sql sau để lấy giá trị giá trị của trường que_id
của một dòng cụ thể trong bảng của tôi và nó hoạt động tốt. Lưu ý rằng các số thứ tự que_id (tự động tăng) và số dòng không giống nhau.PHP PDO -> Truy vấn chuẩn bị trả về lỗi (cùng một truy vấn không được chuẩn bị làm việc tốt)
$qry_que_getid = $connexion->query('SELECT somefield FROM table ORDER BY somefield ASC LIMIT '.$lineNumberSeeked.', 1');
$row = $qry_que_getid->fetch(PDO::FETCH_ASSOC);
echo $row['que_id'];
Khi tôi cố gắng chuyển đổi truy vấn đó vào một truy vấn chuẩn bị như sau Tôi có lỗi và tôi không nhận được nó:
$qry_que_getid = $connexion->prepare('SELECT somefield FROM table ORDER BY somefield ASC LIMIT ?, 1');
$qry_que_getid->execute(array(4));
$row = $qry_que_getid->fetch(PDO::FETCH_ASSOC);
echo $row['que_id'];
tôi nhận được lỗi sau SQLSTATE[42000]: Syntax error or access violation: 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 ''3', 1' at line 1
Hope somene có thể giúp tôi hiểu. Cảm ơn bạn trước. Chúc mừng. Marc.
Bạn không thực hiện cùng một truy vấn. Các kết thúc đầu tiên với 'LIMIT 3, 1' nhưng kết thúc thứ hai với' LIMIT '3', 1' - vì vậy xin đừng viết nó là truy vấn * cùng * khi nó không được. – hakre
Xin chào hakre. Bạn đang nói về cái gì vậy? – Marc
Bạn có thấy dấu nháy đơn xung quanh '3' trong truy vấn thứ hai của mình không? Và Pradator có giải pháp cho bạn. – hakre