我将我的android应用程序中的数据发送到localhost中的mySQL并且我收到警告(警告:mysql_free_result()期望参数1为资源,第17行的C:\ xampp \ htdocs \ datatest.php中给出布尔值)< / p>
尽管有警告我仍然可以将数据插入数据库。
我想知道可以忽略这个或者我该如何解决这个问题?
我尝试了各种论坛和网站,没有解决我的问题。
<?php
$dbcnx = mysql_connect("localhost", "root", "");
$db = "agentdatabase";
mysql_select_db($db, $dbcnx);
$user_id=$_POST['username'];
$passwd=$_POST['password'];
$query = "INSERT INTO agentable (username,password) VALUES ('".$user_id."','".$passwd."')";
echo $query;
$result = mysql_query($query) or die ("<b>Query failed:</b> " . mysql_error());
if($result){
echo '<br />','pass';
}
else echo mysql_error();
mysql_free_result($result);
mysql_close($dbcnx);
?>
答案 0 :(得分:11)
由于can't free a boolean,您无法释放INSERT
查询的结果。
答案 1 :(得分:2)
mysql_free_result()
。
不推荐使用mysql扩展,而是使用MySQLi或PDO_MySQL。
mysql_query()仅返回SELECT,SHOW,EXPLAIN和DESCRIBE查询的资源。
答案 2 :(得分:2)
答案 3 :(得分:1)
这是我测试的另一个可能的原因,并且能够以其他两种不同方式重现此错误,这里没有提及。
1)您的SQL语法错误,看起来像这样(注意 field3 后不正确的额外逗号:
“从myTable中选择field1,field2, field3,”;
2)您的SQL包含重复字段,如下所示:
“从myTable中选择field1, field2 , field2 ”;
在这两种情况下,我收到了消息,它显示在不同的功能中:
“警告:mysql_result()期望参数1为资源,布尔值为”
“警告:mysql_free_result()要求参数1为资源,布尔值为”
“警告:mysql_fetch_assoc()要求参数1为资源,布尔值为”
答案 4 :(得分:0)
使用此:
if (is_bool($result) === false) {
mysql_free_result($result);
}