关于网友提出的“ php新手求教查询数据库无输出的问题。Notice: Trying to get property of non-object in ……”问题疑问,本网通过在网上对“ php新手求教查询数据库无输出的问题。Notice: Trying to get property of non-object in ……”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: php新手求教查询数据库无输出的问题。Notice: Trying to get property of non-object in ……描述:
php mysqlphpmysql $result->num_rows;
提示错误信息是:Notice: Trying to get property of non-object in D:\ruanjiananzhuang\wamp\www\n2000\results.php on line 49
对应代码是:$num_results = $result->num_rows;
Fatal error: Call to a member function free() on a non-object in D:\ruanjiananzhuang\wamp\www\n2000\results.php on line 69
对应代码是: $result->free();
请各位前辈帮小弟看看问题出在哪里



以下是完整代码:
资源查询结果
// create short variable names
$searchtype=$_POST['searchtype'];
$searchterm=trim($_POST['searchterm']);
if (!$searchtype || !$searchterm) {
echo '您尚未输入搜索内容,请返回重新输入!';
exit;
}
// echo " $searchtype";
// echo " $searchterm";
if (!get_magic_quotes_gpc()){
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
}
// echo " $searchtype";
// echo " $searchterm";
@ $db = new mysqli('localhost', 'root', '', 'test');
if (mysqli_connect_errno()) {
echo '错误:连接数据库失败,请重试!';
exit;
}
$query = "select * from haoma where ".$searchtype." like '%".$searchterm."%'";
?>
用户号码 | 设备标识 |
---|
解决方案1:
字段的列名是不能加引号的,要加的话也只能加反引号。 解决方案2:
where 的列名不加单引号试试
解决方案3:如版主所说,sql语句错了,用户号码不是数据库表字段
解决方案4:打印一下query语句看看
解决方案5:可能跟你中文字段名有关,换成英文字段试试看
解决方案6: $result = $db->query($query) or die($db->error());
改为 $result = $db->query($query) or die($db->error);
打印出来query语句:select * from ziyuan where 用户号码 like '%8590240%'
显然 用户号码 不是字段名
即便表中有名为 用户号码 的字段,书写时也应转义:`用户号码`
·
$result = $db->query($query) or die($db->error());
判错是必须的