Php pdo execute给出500个内部服务器错误

Php pdo execute给出500个内部服务器错误,php,mysql,pdo,iis-7,Php,Mysql,Pdo,Iis 7,当我注释掉片段时,我没有错误。否则,我会得到内部服务器错误500。我正在使用mysql驱动程序,我的连接字符串很好。有什么猜测吗?类没有execute方法。您可能打算编写$s->execute,或者(不太可能)$dbh->exec或者$dbh->query类没有execute方法。您可能打算编写$s->execute,或者(不太可能)$dbh->exec或者$dbh->query您需要使用$s->execute(),而不是$dbh->execute()。查看PDO文档。。您可能需要在语句对象($

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

类没有
execute
方法。您可能打算编写
$s->execute
,或者(不太可能)
$dbh->exec
或者
$dbh->query
类没有
execute
方法。您可能打算编写
$s->execute
,或者(不太可能)
$dbh->exec
或者
$dbh->query
您需要使用
$s->execute()
,而不是
$dbh->execute()
。查看PDO文档。。您可能需要在语句对象(
$s
)和连接对象(
$dbh
)上使用许多方法,因此您应该熟悉API。

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

如果这是生产密码,请更改它,我保证我不是唯一捕获它的人。如果这是生产密码,请更改它,我向您保证我不是唯一一个抓到它的人。OP显然正在使用准备好的statenets(
$dbh->bindParam
)。所以没有
$dbh->query
:)@MadaraUchiha:当然。只是把所有选项都放在桌面上。@Jon TBH这样更让人困惑,因为正如Madara所说,其他选项有点错误。OP显然使用的是准备好的statenets(
$dbh->bindParam
)。所以没有
$dbh->query
:)@MadaraUchiha:当然。只是把所有的选项摆在桌面上。@Jon TBH这样更让人困惑,因为正如Madara所说,其他选项有点错误。
$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();
*/