警告: mysql_free_result(): 指定された引数は有効な MySQL 結果ではありません

WBOY
リリース: 2016-06-23 13:38:38
オリジナル
1083 人が閲覧しました

エラーは何ですか?

<?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) または die(mysql_error()); に変更します。
$結果= mysql_query($sql);
$result = @mysql_query($sql) または die(mysql_error()); に変更します

これはデータベースが見つからなかったことを意味しますか?
ただし、mysql には Navicat 8 を表示ツールとして使用しています。
ここでデータベースを作成し、テーブルを作成しました。このデータベース内のテーブルに対してどのようにクエリを実行すればよいでしょうか?


データベース システムに接続しただけで、操作するデータベースを選択しませんでした
mysql_select_db('library name');
そうでなければ、どのデータベースでユーザー テーブルをクエリしているのかをどうやって知ることができますか?

さらに、mysql_close($conn) は関数内にありますが、$conn は関数に渡されません。

2 番目のエラーが発生します

モデレーターの答えは完璧です


$result = mysql_query($sql);

$result = @mysql_query($sql) または die(mysql_error()); に変更されました

ページに「データベースが選択されていません」と表示されます。これはデータベースが見つからなかったことを意味しますか?
ただし、mysql には Navicat 8 を表示ツールとして使用しています。
ここでデータベースを作成し、テーブルを作成しました。このデータベース内のテーブルに対してどのようにクエリを実行すればよいでしょうか?


mysql_query の前に mysql_select_db がありません。mysql はクエリ操作を実行する必要があるデータベースを認識しません。

接続を作成したら、
@mysql_select_db('ここにデータベース名を入力してください',$conn) または 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);?>
ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート