Home  >  Article  >  Backend Development  >  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-23 13:38:381022browse

这是什么错?

<?php	header('content-type:application/json;charset=utf8');	$host = '127.0.0.1:3307';	$root = 'root';	$pwd = 'apeg1996';	$con = mysql_connect($host,$root,$pwd);	if($con == false){		echo "连接数据库失败!"; 	}else{ 		echo "连接数据库成功!";	}	$sql = "select * from user";	function execute_data($sql){		$result = mysql_query($sql);		mysql_free_result($result);		mysql_close($conn);		return $result;	}	echo execute_data($sql);?>


已显示连接成功,但是报这个错。。
连接数据库成功!<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 /><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 />


回复讨论(解决方案)

$result = mysql_query($sql);
改为
$result = @mysql_query($sql) or die(mysql_error());

$result = mysql_query($sql);
改为
$result = @mysql_query($sql) or die(mysql_error());



网页上显示的是No database selected, 这个是没有找到这个数据库吗?
但是我用的是Navicat 8 for mysql 这个视图工具。
我在这里面创建的数据库,并简历了表。 我应该怎么去查询这个数据库里的表呢?

你只连接了数据库系统,但没有选择待操作的数据库
mysql_select_db('库名');
否则怎么知道你在查询那个库中的 user 表呢?

另外,你的 mysql_close($conn) 在函数中,而 $conn 并未传到函数中。
所以会有第2条错误

版主回答的完美


$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());

<?php    header('content-type:application/json;charset=utf8');    $host = '127.0.0.1:3307';    $root = 'root';    $pwd = 'apeg1996';     $con = mysql_connect($host,$root,$pwd);    if($con == false){        echo "连接数据库失败!";     }else{         echo "连接数据库成功!";    }     @mysql_select_db('这里填写数据库名',$conn) or die(mysql_error());	 // 加入这句    $sql = "select * from user";    function execute_data($sql, $conn){ // 加入$conn 参数        $result = mysql_query($sql);        mysql_free_result($result);        mysql_close($conn);        return $result;    }    echo execute_data($sql, $conn);?>
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
Previous article:PHP Socket 编程详解Next article:php Recess framework入门