我看到了很多关于此错误的问题,但似乎没有一个答案可以解决我的问题...抱歉,如果我错过了一个。
我的脚本一直给我一个错误提示
调用布尔值的成员函数 fetch_assoc()
但我不明白这是怎么回事。
和$mysqli_query都是$mysqli_query->fetch_assoc()对象。那些分别是:
object(mysqli_result)#4 (5) {
["current_field"]=>
int(0)
["field_count"]=>
int(2)
["lengths"]=>
NULL
["num_rows"]=>
int(1)
["type"]=>
int(0)
}
Run Code Online (Sandbox Code Playgroud)
和
array(2) {
["date"]=>
string(10) "2016-11-19"
["roles"]=>
string(241) "{"eu":{"host":{"max":2,"0":"U0SEMUG8L"},"chat":{"max":1,"0":"U0SEMUG8L"},"bg":{"max":2,"0":"U0SEMUG8L"}},"us":{"host":{"max":2,"0":"U0SEMUG8L","1":"U0SEMUG8L","2":"U0SEMUG8L"},"chat":{"max":1,"0":"U0SEMUG8L","1":"U0SEMUG8L"},"bg":{"max":2}}}"
}
Run Code Online (Sandbox Code Playgroud)
这些也会产生相同的错误:
SELECT * FROM `hosting_signups`
SELECT * FROM `hosting_signups` WHERE 1
Run Code Online (Sandbox Code Playgroud)
当在 PhpMyAdmin 中运行以下命令时,它工作正常:
SELECT * FROM `hosting_signups` WHERE `date`='2016-11-19'
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?这是相关代码:
$mysqli_cmd = "SELECT * FROM `hosting_signups` WHERE `date`='" . $next_karaoke->format("Y-m-d") . "'";
$mysqli_query = $mysqli->query($mysqli_cmd);
//var_dump($mysqli_query->fetch_assoc()); // Oddly, when uncommented this terminates the
// whole while loop below, and the error is not
// produced but my code inside does not run. I'm
// not sure if this is at all related to my problem.
while($row = $mysqli_query->fetch_assoc()) {}
Run Code Online (Sandbox Code Playgroud)
编辑: 我对我的代码进行了一些修改,进行了一些更多的调试,如下:
$mysqli_cmd = "SELECT * FROM `hosting_signups` WHERE `date`='" . $next_karaoke->format("Y-m-d") . "'";
$mysqli_query = $mysqli->query($mysqli_cmd);
var_dump($mysqli_cmd);
var_dump($mysqli->error);
while($row = $mysqli_query->fetch_assoc()) {}
Run Code Online (Sandbox Code Playgroud)
输出是:
string(57) "SELECT * FROM `hosting_signups` WHERE `date`='2016-11-19'"
string(0) ""
Fatal error: Call to a member function fetch_assoc() on boolean in
/home2/bugfroggy/public_html/hosting_signup.php on line 63
Run Code Online (Sandbox Code Playgroud)
编辑2:$mysqli_query对我来说这是一个愚蠢的错误。我不小心更改了循环中
的值,while而不是我在循环内执行的另一个查询的查询变量。问题解决了!
| 归档时间: |
|
| 查看次数: |
30048 次 |
| 最近记录: |