我正在为我正在开发的 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/