在我提出问题之前,我看过here(还有很多其他地方)。
我尝试使用以下格式'".$user_id." ''$user_id'
甚至?
作为我的变量持有者,但我仍然遇到同样的错误。我还尝试将$_GET
更改为$_POST
。
这是我的代码。
<?php
$connection = mysqli_connect("db_name", "user", "pass", "db") or die(mysqli_error($con);
$user_id = $_GET["user_id"];
$event_id = $_GET["event_id"];
$query = "SELECT * FROM user where user_id BETWEEN('".$user_id."'+1) and ('".$user_id."'+4);";
$query .= "SELECT * FROM user_in_event WHERE user_id = '".$user_id."' AND event_id = '".$event_id."' ";
if (mysqli_multi_query($connection, $query) or die(mysqli_error($connection).$query) ){
do {
/* store first result set */
if ($result = mysqli_store_result($connection) or die(mysqli_error($con))) {
while ($row = mysqli_fetch_assoc($result) or die(mysqli_error($con)))
$array[] = $row;
mysqli_free_result($result) or die(mysqli_error($con));
}
} while (mysqli_next_result($connection) or die(mysqli_error($con)));
}
header('Content-Type:Application/json');
echo json_encode($array);
?>
这是错误
mysqli_error() expects parameter 1 to be mysqli null given
我已经检查了数据库本身并且查询工作正常
*修改 固定&#34; con&#34;到&#34;连接&#34;但现在而不是得到所需的结果我得到balnk
答案 0 :(得分:1)
mysqli_error()
期望第一个参数是mysqli资源。在您的情况下,您使用的是未定义的变量$con
,其中包含空值。
通常通过调用mysqli_connect
来连接数据库来获取mysqli资源。
因此,$con
应替换为$connection
中的mysqli_error()
。
答案 1 :(得分:0)
$ query =&#34; SELECT * FROM user user_id BETWEEN(&#39;&#34;。$ user_id。&#34;&#39; +1)......
试试这个:
$ query =&#34; SELECT * FROM user user_id BETWEEN(&#39;&#34;。($ user_id + 1)。&#34;&#39;)...
答案 2 :(得分:-1)
BETWEEN正在寻找简单的数字。 例 SELECT * FROM产品 价格在10和20之间的价格;
您的查询有一些复杂的格式,可能会导致您的空值。我注意到你有两个“;”应该只有一个关闭查询。它有时有助于简化。
尝试在查询之前创建搜索值:
$开始= $ USER_ID + 1; $结尾= $ USER_ID + 4;
然后你的查询就变成了 $ query =“SELECT * FROM user其中user_id BETWEEN $ start和$ end”;
希望这有帮助。