Tôi muốn nâng cấp mã hiện tại của mình liên tục được chèn với PDO.Cách thêm giá trị biến bên trong pdo-> truy vấn
Hiện tại tôi đang bị mắc kẹt với việc sử dụng một biến bên trong truy vấn PDO.
Nếu tôi có hai đối số như thế này
$rowsPerPage = 3;
// by default we show first page
$pageNum = 1;
if (isset($_GET['page'])) {
$pageNum = mysql_real_escape_string($_GET['page']);
}
$offset = ($pageNum - 1) * $rowsPerPage;
Và tôi có truy vấn như thế này
$STH = $DBH->query("SELECT News.ID, LEFT(NewsText,650), Title, AID, Date, imgID," .
"DATE_FORMAT(Date, '%d.%m.%Y.') as formated_date " .
"FROM News, Categories, NewsCheck WHERE Name LIKE '%News - Block%' AND CID=Categories.ID AND JID=News.ID ".
"ORDER BY `Date` DESC LIMIT $offset, $rowsPerPage");
PDO báo cáo một lỗi trong dòng cuối cùng của ORDER truy vấn THEO Khi tôi thay thế những phù hợp với "ORDER BY Date DESC LIMIT3,3");
mọi thứ hoạt động.
Vậy làm thế nào để thêm các giá trị biến bên trong PDO :: truy vấn?
Cập nhật: Nhờ trả lời dưới đây tôi đã cập nhật mã của tôi như thế này
$STH = $DBH->prepare("SELECT News.ID, LEFT(NewsText,650), Title, AID, Date, imgID," .
"DATE_FORMAT(Date, '%d.%m.%Y.') as formated_date " .
"FROM News, Categories, NewsCheck WHERE Name LIKE '%News - Block%' AND CID=Categories.ID AND JID=News.ID ".
"ORDER BY `Date` DESC LIMIT :offset, :rowsPerPage;");
$STH->bindParam(':offset', $offset, PDO::PARAM_STR);
$STH->bindParam(':rowsPerPage', $rowsPerPage, PDO::PARAM_STR);
$STH->execute();
Nhưng xảy ra lỗi:
Fatal error: Uncaught exception 'PDOException' with message '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', '3'' at line 1' in /pdo/test.php:42 Stack trace: #0 /pdo/test.php(42): PDOStatement->execute() #1 {main} thrown in /pdo/test..
Second Cập nhật Thay đổi từ PARAM_STR ĐẾN PARAM_INT như
này$STH->bindParam(':offset', $offset, PDO::PARAM_INT);
$STH->bindParam(':rowsPerPage', $rowsPerPage, PDO::PARAM_INT);
Mọi thứ đều hoạt động.
gán chuỗi truy vấn cho biến, var_dump() các kết quả và đăng tại đây, vui lòng. –