mysqli 的多sql语句执行有关问题

WBOY
发布: 2016-06-13 12:58:06
原创
1072 人浏览过

mysqli 的多sql语句执行问题

<?php<br />
	//对象创建<br />
	$mysqli = new mysqli('localhost', 'root', 'nagiosxi','hrsystem');<br />
	//连接是否出错<br />
	if($mysqli->connect_error)<br />
	{<br />
		die('connect database error'.mysqli_connect_error());<br />
	}<br />
	$sql = "insert into login (user, pass, email, type) values ('dengchao1', md5('dengchao123'), 'dengchao1@gmail.com', 0);";<br />
	$sql .= "insert into login (user1, pass, email, type) values ('dengchao1', md5('dengchao123'), 'dengchao1@gmail.com', 0)";<br />
	$res = $mysqli->multi_query($sql);<br />
	if($res && $mysqli->affected_rows > 0)<br />
	{<br />
		echo "insert ok <br />rows: ".$mysqli->affected_rows;<br />
	}<br />
	else<br />
	{<br />
		//$mysqli->close();<br />
		die('insert error <br />'.$mysqli->error.$mysqli->close());<br />
	}<br />
	if(!is_bool($res))<br />
	{<br />
		$res->free();<br />
	}<br />
<br />
	$sql = "select * from login";<br />
	$res = $mysqli->query($sql);<br />
        echo $mysqli->error."<br />";<br />
	if($res)<br />
	{<br />
		while($row = $res->fetch_row())<br />
		{<br />
			foreach($row as $key => $val)<br />
			{<br />
				echo "--$val";<br />
			}<br />
			echo "<br />";<br />
		}<br />
	}<br />
	if(!is_bool($res))<br />
	{<br />
		$res->free();<br />
	}<br />
	$mysqli->close();<br />
?>
登录后复制

为啥会报错:Commands out of sync; you can't run this command now
 这句报错,对应的查询语句是
$sql = "select * from login";
$res = $mysqli->query($sql);

非常不解,请答案,没百度到。
------解决方案--------------------
先把multi_query的结果集释放了,再进行查询

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板