1
$dbh= new PDO('mysql:host=127.0.0.1;dbname=prawntube', "uname", "aaaaa");
$s=$dbh->prepare("call smessage_select(:sm,:lang)");
$s->bindParam(":sm", $sm,PDO::PARAM_STR);
$s->bindParam(":lang", $lang,PDO::PARAM_STR);
/*
    $dbh->execute();
    $title=$s->fetch();
*/

当我注释掉该段时,我没有错误。否则,我会收到内部服务器错误 500。我正在使用 mysql 驱动程序并且我的连接字符串很好。有什么猜测吗?

4

2 回答 2

4

PDO没有execute方法。您可能打算写$s->execute, or (不太可能) $dbh->execor $dbh->query.

于 2012-09-29T18:33:37.557 回答
3

你需要使用$s->execute(),而不是$dbh->execute()。查看 PDO 文档 .. 语句对象 ( $s) 和连接对象 ( $dbh) 上有很多您可能需要使用的方法,因此您应该熟悉 API。

于 2012-09-29T18:34:49.070 回答