您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> PHP >> php新手求教查询数据库无输出的问题。Notice: Trying to get property of non-object in ……

php新手求教查询数据库无输出的问题。Notice: Trying to get property of non-object in ……

来源:网络整理     时间:2017/12/8 0:24:15     关键词:

关于网友提出的“ 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();
请各位前辈帮小弟看看问题出在哪里 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 ……
以下是完整代码:


  
  资源查询结果


资源查询结果


  // 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."%'";
  ?>
  
  
    用户号码设备标识
     $result = $db->query($query);
  $num_results = $result->num_rows;
  echo "$result
";
  echo "$num_results
";
  echo "

查询到的数据条目: ".$num_results."

";
  for ($i=0; $i <$num_results; $i++) {
     $row = $result->fetch_assoc();
     echo "

".($i+1).". 用户号码: ";
     echo htmlspecialchars(stripslashes($row['用户号码']));
     echo "设备标识: ";
     echo stripslashes($row['设备标识']);
     echo "

";
  }
  $result->free();
  $db->close();
?>




解决方案1:

引用 17 楼 liux98 的回复:
Quote: 引用 16 楼 小白V587的回复:
where 的列名不加单引号试试

问题解决了,能得到想要的结果!灰常感谢!!!
就是不知道为什么要这样,能大概说明下吗?

字段的列名是不能加引号的,要加的话也只能加反引号。 解决方案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%'
显然 用户号码 不是字段名
即便表中有名为 用户号码 的字段,书写时也应转义:`用户号码`
·

解决方案7:

$result = $db->query($query) or die($db->error());
判错是必须的


以上介绍了“ php新手求教查询数据库无输出的问题。Notice: Trying to get property of non-object in ……”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4518766.html

相关图片

相关文章