最近要做一个软件升级,其中涉及到数据库表字段的变动(新增或删除或修改),所有的关于数据库的变动的sql语句都是存放在Sqlupdate.sql文件中,每次升级的时候都需要执行一次Sqlupdate.sql里的所有sql语句,这就涉及到执行多条语句的问题了。软件在CodeIgniter框架上开发的,CodeIgniter有封装好的执行sql语句的函数:$this->db->query('****'),但此函数一次只能执行一条sql语句。所以得另外想办法了。百度了下,找到了一些资料。multi_query()方法是完全按照在sql环境下的语句执行,所以可以一次执行多条sql语句(按sql语法拼写,每条语句以;结束)。

$mysqli = new
mysqli($this->db->hostname,$this->db->username,$this->db->password,$this->db->database);
//连接MySQL数据库

if ($mysqli->connect_errno) { //判断是否连接成功printf("Connect failed: %s\n",
$mysqli->connect_error);exit();

}$mysqli->multi_query($dataStr); //执行sql语句

以下是百度到的参考资料:

使用mysqli对象中的query()方法每次调用只能执行一条SQL命令。如果需要一次执行多条SQL命令,就必须使用mysqli对象中的
multi_query()方法。具体做法是把多条SQL命令写在同一个字符串里作为参数传递给multi_query()方法,多条SQL之间使用分号
(;)分隔。如果第一条SQL命令在执行时没有出错,这个方法就会返回TRUE

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信