后端开发|php教程
nbsp,stmt,select,CALL,test
后端开发-php教程
PHP_PDO 调用存储过程,返回参数问题
商品展示网页源码,在vscode无法建表格,ubuntu 新开终端,tomcat运行成功但是,代码编程爬虫,php 配置文件详解,seo经典成功案例分析优化,画廊网站源码,网?app模板lzw
$stmt = $db->prepare("CALL pro_test(?,@?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $return_value, PDO::PARAM_STR, 4000);
// 插入一行
$name = 成都市;
$stmt->execute ();
print_r($return_value);
调用存储过程,返回参数怎么是空的,么有,查看数据库,已经成功添加了数据,
直接在数据库中执行
SET @n = -1;
CALL pro_test(“啊是打算”,@n);
select @n;
返回的都是正确的参数
dht 爬虫源码,vscode中鼠标颜色设置,ubuntu挂载清除,安装及搭建tomcat,爬虫 错误网关,php好就业吗,重庆seo排名怎么做,产业园网站源码,织梦模板首页增加会员中心lzw
分享到:更多
18社区源码,vscode如何连接linux,window换Ubuntu,tomcat集群的特点,相对路径下读取sqlite,搜索引擎为什么叫爬虫引擎呢,php网站外包,开封专业seo优化价格,日本儿童网站模板,信息分类网站新闻模板lzw
——解决方案——————–
调用存储过程时,数据库可能返回多个结果集
依次是:基本的 select 的结果,存储过程1的结果,存储过程2的结果 ….
你的 SQL 指令这是 CALL pro_test(?,@?) 没有 select 所以只能位于第二个结果集
如果写作 select CALL pro_test(?,@?) 就位于第一结果集了
当然环境十多变的,你也确实不能准确的知道结果集会摆在哪里
于是就需要循环读取
do {
$rows = $stmt->fetchAll(PDO::FETCH_NUM);
if ($rows) {
print_r($rows);
}
} while ($stmt->nextRowset());