php中2条sql能写在一个变量里面执行吗

我要执行这2条语句
select * from A
insert into A(name) values('test')
我想把这2句sql在一个变量里去执行实现成
$sql=“select * from A;insert into A(name) values('test')”;
mysqli_query($sql);
但是会报这样的错误You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from A;insert into A(name) values('test')‘ at line 1
请问有什么方法可以用这样的方法来执行吗?
多谢!

好吧,楼主要是非得这么做的话其实还是给自己添麻烦有点 数据库很傻的,它不会自动识别的,只认识标准的sql语句,你上来两句话它肯定不认识了
这样非要一个变量的话那就这么办 在运行sql时候得改变一下
$sql_arr = explode(":",$sql); //通过切割函数将你的sql变量切割成数组
foreach($sql_arr as $val){
$result[]= mysqli_query($val); //我遍历数组后 每项就是一个sql语句 我分别运行 将结果放在一个数组里面

}
$result = implode(",",$result); //将上面的数组在改变成用逗号连接的字符串追问

能不能在$sql这个变量里做些修改来 执行
通过对它进行修改 导致执行的时候可以执行 insert就行

追答

恩,那你这里的查询想用它做些什么呢? 要是就是想执行添加也简单 在那个循环里面弄一个判断 然后是这个数组的首个的话 直接 continue了
我记得貌似有个函数可以一次执行两个sql语句 你也可以参考下 刚刚忘了说mysqli_multi_query();

这个函数 意思可以理解成运行 多条sql语句 但是你要注意 一旦第一个报错 那第二个也容易出事了 个人感觉还是把它分开弄好一点 这样两条语句那个错了都无所谓 谁都影响不到谁

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-14
mysqli_multi_query($sql);

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网