Warning: mysql_free_result(): supplied argument is not a valid MySQL result 这是什么错?
<br /><?php<br /> header('content-type:application/json;charset=utf8');<br /> $host = '127.0.0.1:3307';<br /> $root = 'root';<br /> $pwd = 'apeg1996';<br /><br /> $con = mysql_connect($host,$root,$pwd);<br /> if($con == false){<br /> echo "连接数据库失败!"; <br /> }else{ <br /> echo "连接数据库成功!";<br /> }<br /><br /> $sql = "select * from user";<br /> function execute_data($sql){<br /> $result = mysql_query($sql);<br /> mysql_free_result($result);<br /> mysql_close($conn);<br /> return $result;<br /> }<br /> echo execute_data($sql);<br />?><br /> 登入後複製
已显示连接成功,但是报这个错。。
<br />连接数据库成功!<br /><br /><b>Warning</b>: mysql_free_result(): supplied argument is not a valid MySQL result resource in <b>F:\environment\WAMP\wamp5\wamp\wamp\www\test\sql.php</b> on line <b>17</b><br /><br /><br /><br /><b>Warning</b>: mysql_close(): supplied argument is not a valid MySQL-Link resource in <b>F:\environment\WAMP\wamp5\wamp\wamp\www\test\sql.php</b> on line <b>18</b><br /><br /> 登入後複製
------解决思路---------------------- 你只连接了数据库系统,但没有选择待操作的数据库
mysql_select_db('库名');
否则怎么知道你在查询那个库中的 user 表呢?
另外,你的 mysql_close($conn) 在函数中,而 $conn 并未传到函数中。
所以会有第2条错误
------解决思路---------------------- 本帖最后由 fdipzone 于 2015-03-15 00:05:08 编辑
引用: Quote: 引用: $result = mysql_query($sql); 改为 $result = @mysql_query($sql) or die(mysql_error()); 网页上显示的是No database selected, 这个是没有找到这个数据库吗? 但是我用的是Navicat 8 for mysql 这个视图工具。 我在这里面创建的数据库,并简历了表。 我应该怎么去查询这个数据库里的表呢?你在mysql_query之前没有mysql_select_db,mysql不知道你需要在哪个db中执行查询操作。
在创建连接后,加一句
@mysql_select_db('
这里填写数据库名 ',$conn) or die(mysql_error());
<br /><?php<br /> header('content-type:application/json;charset=utf8');<br /> $host = '127.0.0.1:3307';<br /> $root = 'root';<br /> $pwd = 'apeg1996';<br /> <br /> $con = mysql_connect($host,$root,$pwd);<br /> if($con == false){<br /> echo "连接数据库失败!"; <br /> }else{ <br /> echo "连接数据库成功!";<br /> }<br /> <br /> @mysql_select_db('这里填写数据库名',$conn) or die(mysql_error()); // 加入这句<br /><br /> $sql = "select * from user";<br /> function execute_data($sql, $conn){ // 加入$conn 参数<br /> $result = mysql_query($sql);<br /> mysql_free_result($result);<br /> mysql_close($conn);<br /> return $result;<br /> }<br /> echo execute_data($sql, $conn);<br />?><br /> 登入後複製