欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

CI框架下用存储过程后不能再进展其他查询

程序员文章站 2024-04-05 10:04:12
...
CI框架下用存储过程后不能再进行其他查询
CI下调用MYSQL存储过程,连接必须释放才能再次执行其他查询,但是我这里释放连接后出错了,代码如下:
//获取节点信息
//执行存储过程
$query = $this->db->query("call ws_node_one($id)");
$data['node'] = $query->result_array()[0];
$this->db->close();//关闭连接
$this->load->database();//可有可无,CI下调用$this->db时自动连接
//下面的是新查询
$result = $this->db->get_where("ws_node",array("id"=>$pid));//就是这句查询报错了

#######################################
错误如下:
A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysqli/mysqli_driver.php

Line Number: 320


#############################################
后面的查询是有结果的,但是这个mysql_escape_string()的字符转义函数调用失败了,不知道为什么,根据要求去 mysqli/mysqli_driver.php里把mysql_escape_string改成mysql_real_escape_string,也是一样,报mysql_real_escape_string错误。


##############################################
大神求解!!!
CI小白
------解决思路----------------------
mysql 扩展必须在执行存储过程之后断开数据库连接,重新连接后才可以
所以 mysql 是落后的,要被淘汰的

你可改用 mysqli 或 PDO 扩展
------解决思路----------------------
自5.5.0起mysql 扩展函数废弃了,用mysqli 和 pdo代替吧。
CI框架下用存储过程后不能再进展其他查询

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频