PHP 准备好的语句不起作用

标签 php mysql pdo

<?php
    $current = 0;
    $results = 5;
    $statement = $db->prepare("SELECT title, id FROM mytable LIMIT ?, ?");
    $statement->execute(array($current, $results));
?>

var_dump($statement);
=> public 'queryString' => string 'SELECT title, id FROM mytable LIMIT ?, ?' (length=39)

谁能帮我找出为什么这不起作用?

最佳答案

您需要将这些参数绑定(bind)为整数,而不是字符串(默认)。将参数绑定(bind)为字符串会自动在它们周围添加引号。

$statement->bindParam(":current", $current, PDO::PARAM_INT)

此示例使用命名占位符。我建议你无论如何都使用它。

关于PHP 准备好的语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863368/

相关文章:

php - 如何在谷歌地图中显示标记 从 mysql php 检索数据

php - 如何用PHP复制太多记录?

Mysql TIMESTAMP TO 纯日期数字

php - 使用 PDO - Php 登录

php - 使用 SimpleXMLElement 读取 `&lt;![CDATA[...]]>` 中的文本

mysql - 对同名列使用 LEFT JOIN 的方法

MySQL存储过程返回多个参数

php - PDO - 获取 COUNT(*) 的结果?

php - 插入问题

javascript - 如何在 div 中回显 mysqli 结果,其中包含用于不同 javascript 函数的另一个 onclick for javascript 函数