首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误:在第27行的C:\wamp\www\demo.php中调用非对象的成员函数查询()

致命错误:在第27行的C:\wamp\www\demo.php中调用非对象的成员函数查询()
EN

Stack Overflow用户
提问于 2014-05-30 18:59:20
回答 3查看 1.2K关注 0票数 0

当我编写这段代码时,我会得到一个致命的错误,声明:

在第27行的C:\wamp\www\demo.php中对非对象调用成员函数查询()。

我怎样才能消除这个错误?

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
<?php

$searchtype  = $_POST["searchtype"];
$searchterm  = $_POST["searchterm"];
$searchterm  = trim($searchterm);

if(!$searchtype && !$searchterm) {
    echo "You have not entered search details.";
}

$mysqli = new mysqli("localhost","root","","books"); 

if($mysqli = false) {
    echo "ERROR:Sorry,Could Not Connect To The Database.";
} else {
    echo "Connected To Database";
} 

$sql = "SELECT author FROM books"; 

if($mysqli -> query($sql)) {
    echo "Connected To Tables";
} else {
     echo "Cannot connect tot tables right now."; 
} 


?>

</html>
EN

回答 3

Stack Overflow用户

发布于 2014-05-30 19:07:22

代码语言:javascript
复制
if ($mysqli = false)

这一行是将布尔值false分配给$mysqli。将其更改为:if ($mysqli == false)或(更好) if ($mysqli === false)

为了防止将来发生此错误,我建议您使用尤达会议。换言之:

代码语言:javascript
复制
if (false === $mysqli)
票数 1
EN

Stack Overflow用户

发布于 2014-05-30 19:10:24

它是:

代码语言:javascript
复制
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

根据http://www.php.net/manual/en/mysqli.query.php

此外,查询执行需要更改为

代码语言:javascript
复制
if($mysqli->query($sql)) {
票数 0
EN

Stack Overflow用户

发布于 2014-05-30 19:13:53

在您的代码中检查

代码语言:javascript
复制
if($mysqli = false)

当你想要的

代码语言:javascript
复制
if($mysqli == false)

但是,如果存在连接问题,这将无法工作,因为您仍然会得到mysqli实例。你在找

代码语言:javascript
复制
if($mysqli->connect_error)

有关更多信息,请参见这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23961662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档