Home >Backend Development >PHP Tutorial >Warning</b> mysql_free_result(): supplied argument is not a valid MySQL result,该怎么解决

Warning</b> mysql_free_result(): supplied argument is not a valid MySQL result,该怎么解决

WBOY
WBOYOriginal
2016-06-13 12:16:121561browse

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 />
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn