当前位置:Gxlcms > PHP教程 > Warning</b>mysql_free_result():suppliedargumentisnotavalidMySQLresult,该怎么解决

Warning</b>mysql_free_result():suppliedargumentisnotavalidMySQLresult,该怎么解决

时间:2021-07-01 10:21:17 帮助过:18人阅读

Warning: mysql_free_result(): supplied argument is not a valid MySQL result
这是什么错?

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);
?>


已显示连接成功,但是报这个错。。

连接数据库成功!

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in F:\environment\WAMP\wamp5\wamp\wamp\www\test\sql.php on line 17



Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in F:\environment\WAMP\wamp5\wamp\wamp\www\test\sql.php on line 18


------解决思路----------------------
你只连接了数据库系统,但没有选择待操作的数据库
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());


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);
?>

人气教程排行