在数据库中查找4条记录并检查是否存在于其他表中

时间:2017-05-21 03:39:46

标签: php mysqli

我正坐在这里,为了一个需要选择4条记录的mysql查询而扭曲我的头,需要检查另一个表中的4条记录,以便用户ID检查是否已经向客户发送了一条消息我需要再次运行查询:

$result=mysqli_query($conn, "Select * from messages where approved='1' AND 
catogory='".$catogory."' ORDER by rand() LIMIT 4");
    while($row=mysqli_fetch_array($result))


        $result=mysqli_query($conn, "select * from send_messages where 
message_id='".$id."' AND username='".$username."'");
        while($row=mysqli_fetch_array($result))
        $rowcount=mysqli_num_rows($result);
        if($rowcount > "0"){
            header("location: index.php?username=$username");
            exit();
        }
echo "<input type='radio' id='test' name='message' value='$row[id]'><label for='test'>$row[message]</label><br>";
    echo "</form>";

该代码适用于1条记录,但我需要打印出4条记录,然后我尝试这段代码它什么都没有显示

1 个答案:

答案 0 :(得分:0)

您正在使用第二个$result调用覆盖第一个mysql结果变量mysqli_query()。这意味着第3行中的while循环实际上将检查第6行中mysql查询的内容。在循环结束时,即使可能有更多可用消息,此结果集也将为空。

对不同的mysql查询使用不同的结果变量,因此您可以处理&#34; SELECT * FROM messages&#34;的结果集。或者在&#34; SELECT * FROM send_messages&#34;。

的结果集上