Home > Backend Development > PHP Tutorial > CI框架下用存储过程后不能再进展其他查询

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

WBOY
Release: 2016-06-13 12:07:47
Original
823 people have browsed it

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代替吧。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template