我正在使用 WindowsXP 机器来开发我正在开发的 PHP 页面。我正在使用 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/