我本地的MYSQL版本是 MySQL 4.0.20a-nt PHP4, 还有我空间的版本也是PHP4..所以不能用mysqli_multi_queryl了 也分号格开也不行但还是不行...我看了你说的那篇文章了...还是不行..呵呵~~如果实在不行我就用数组循环得了~
echo $sql;sql语句在phpmyadmin中调试成功,然后放在php中就好了。
我在PHPMYADMIN里面试了几次了 都是好的~~~~ 但直接执行就不行~~~郁闷~~~~
不是有很多人都在关心“SQL注入攻击”吗? php不允许多行sql指令的存在,就是防范措施之一
同意唠叨老大! mysql不允许同时执行多条语句,这是为了安全考虑。我简单描述一下: 假设你的代码是这样的 //show.php $sql = "select * from table1 where id = $id"; $result = mysql_query($sql);这是很正常的代码吧,你的id变量是这样提交的:http://xxx.com/show.php?id=10那么上面的代码就是这样的$sql = "select * from table1 where id = 10"; $result = mysql_query($sql);好,当我是黑客的时候,那么我把GET数据改一下:http://xxx.com/show.php?id=10;delete from table1那么我们的代码变成了:$sql = "select * from table1 where id = 10; delete from table"; $result = mysql_query($sql);嘿嘿,如果mysql能够执行多条语句的话,你看看后果是什么?我们的数据全部没有了!!!所以嘛,mysql的考虑是很安全的,虽然很多时候不方便,你上面的代码可以使用数组,或者自己多写几条语句来构造嘛。
说是可以直接用分号把sql语句分开然后执行........
但自己试了N久没成功
你装一个4.0的MySQL或更高的版本你也可以看看这个文章
http://www.ddvip.net/database/mysql/index1/23.htm
http://www.php.net/manual/en/function.mysqli-multi-query.php
MySQL 4.0.20a-nt PHP4,
还有我空间的版本也是PHP4..所以不能用mysqli_multi_queryl了
也分号格开也不行但还是不行...我看了你说的那篇文章了...还是不行..呵呵~~如果实在不行我就用数组循环得了~
都是好的~~~~
但直接执行就不行~~~郁闷~~~~
php不允许多行sql指令的存在,就是防范措施之一
mysql不允许同时执行多条语句,这是为了安全考虑。我简单描述一下:
假设你的代码是这样的
//show.php
$sql = "select * from table1 where id = $id";
$result = mysql_query($sql);这是很正常的代码吧,你的id变量是这样提交的:http://xxx.com/show.php?id=10那么上面的代码就是这样的$sql = "select * from table1 where id = 10";
$result = mysql_query($sql);好,当我是黑客的时候,那么我把GET数据改一下:http://xxx.com/show.php?id=10;delete from table1那么我们的代码变成了:$sql = "select * from table1 where id = 10; delete from table";
$result = mysql_query($sql);嘿嘿,如果mysql能够执行多条语句的话,你看看后果是什么?我们的数据全部没有了!!!所以嘛,mysql的考虑是很安全的,虽然很多时候不方便,你上面的代码可以使用数组,或者自己多写几条语句来构造嘛。