Heim  >  Artikel  >  Backend-Entwicklung  >  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:381019Durchsuche

这是什么错?

<?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);?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP Socket 编程详解Nächster Artikel:php Recess framework入门