我正在为我正在开发的 PHP 页面使用 WindowsXP 机器。我正在使用 PDO 连接到 MySQL 后端。在我的开发环境中它工作得很好,但它在我的 CentOS 5.5 测试服务器中默默地停止处理。经过一些调试,我发现它正好停在 '$stmt->bindParams' 部分。

我的声明如下:

$stmt = $dbh->prepare('SELECT * FROM MEMBERS WHERE ID=:what');

echo 'statement prepared'; //debug

$stmt->bindParam('what', $enteredid);

echo 'parameters bound'; //debug

也试过
$stmt->bindParam('what', $enteredid, PDO::PARAM_STR, 255);

两者都适用于我的开发机器,但它在我的测试服务器中停止。

我只能看到“已准备好声明”,但什么也没有发生。

还在托管环境中尝试了该页面。同样的事情发生。

最佳答案

当您调用 bindParam() 时,您是否不需要传递 ':what' 作为要绑定(bind)到的占位符而不是 'what'?不知道为什么这会在 Windows 上运行而不是在 Linux 上运行......

关于php - PDO 绑定(bind)参数在登台和托管服务器上静默失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4836256/

10-13 02:13