Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中调用mysql存储过程_Mysql_Stored Procedures - Fatal编程技术网

在php中调用mysql存储过程

在php中调用mysql存储过程,mysql,stored-procedures,Mysql,Stored Procedures,我试图调用mysql prepare语句,但遇到了php错误 “致命错误:对C:\wamp\www\learn\mysqlsp.php第7行的非对象调用成员函数prepare()” 代码: $dbh是一个有效的mysql资源链接。我已经定义了一个DB连接器类,以便$dbh的作用域问题得到解决,但我仍然无法纠正这个错误 请帮忙 谢谢 $dbh是一个有效的mysql资源链接 那么它就不是一个PDO对象,您不能对它调用方法 要么对mysql资源使用mysql\u query(),要么使用和prepar

我试图调用mysql prepare语句,但遇到了php错误

“致命错误:对C:\wamp\www\learn\mysqlsp.php第7行的非对象调用成员函数prepare()”

代码:

$dbh是一个有效的mysql资源链接。我已经定义了一个DB连接器类,以便$dbh的作用域问题得到解决,但我仍然无法纠正这个错误

请帮忙

谢谢

$dbh是一个有效的mysql资源链接

那么它就不是一个PDO对象,您不能对它调用方法


要么对mysql资源使用
mysql\u query()
,要么使用和
prepare()

@Benjamin Morel:)我的坏消息。用mysql\u query()替换prepare()并不能解决我的问题。您能告诉我我们可以使用mysql_query()运行PreparedStatemens吗。例如:mysql_query(“CALL callavg('city','population'));准备好的语句和存储过程不一样。用于预编译查询并在以后绑定它的参数。要
CALL()
您的存储过程,只需发出
mysql_query('CALL callavg('city','population'),$dbh)
让我来纠正一下,我在mysql[calavg]中有一个存储过程,我正试图通过mysql_query()直接从PHP调用但是mysql_query返回false。使用旧的mysql扩展调用存储过程只有在您拥有最新版本的情况下才有效-我认为它是5.3.6,但是,您可以使用旧版本的php通过使用mysqli扩展调用存储过程。刚刚学到了一些东西,f00!是的,如果您不打算调用预处理语句,它与PDO一样有效使用其他数据库供应商。
include 'connect_db.php';

$dbclass=new db_connector();
$dbh=$dbclass->getDBH();

$stmt=$dbh->prepare("CALL callavg('city','population'");
$stmt->execute();