0

这是一个奇怪的。请看下面的php:

$time = 1234;
$query = $pdo->prepare('SELECT order_id, expiry FROM installs WHERE upd_code = ? AND expiry > ?');
$query->bindParam(1, $_POST['id'], PDO::PARAM_STR);
$query->bindParam(2, $time, PDO::PARAM_INT);
$query->execute();

产生错误:

SQLSTATE[HY093]:参数号无效:参数未定义

仅当我出于某种原因使用大于运算符时才会发生这种情况。< 或 = 不会产生错误。谁能告诉我出了什么问题?提前谢谢了。

4

1 回答 1

1

摆脱代码中的所有 try-catch 块,其唯一目的是回显$e->getMessage()输出。

如果您只是以正确的方式拥有这件事,那根本就没有问题。因为 PHP 可以比普通 PHP 用户更好地处理异常,例如添加发生错误的确切文件名和行号- 所以,它会让您立即意识到真正的原因,使所有错误的假设和猜测都没有用.

于 2013-11-05T09:56:57.810 回答