选择在同一日期发布的所有帖子

时间:2017-11-23 01:22:35

标签: php sql

我有一个像这样的表结构:

sender| receiver| message|date|time
----------------------------------

如何选择在同一日期撰写的所有邮件,它们显示在顶部,就像Facebook聊天一样?

我尝试过这样的事情:

<?php

            $con=mysql_connect("localhost","root","");
            $db=mysql_select_db ("chat",$con);

             $query=" select * from chat where sender='$send' 
             and   receiver='$rec' order by date";
             $result=mysql_query($query);
            while($r2=mysql_fetch_array($result))
              echo "<div>{$r2['date']}</div>";
             {

                echo"<div>{$r2['message']}</div>";
             }
?>

1 个答案:

答案 0 :(得分:1)

您尝试直接从PHP运行SQL查询,而您无法做到 - 您需要先连接到数据库。然后,您需要将$send$rec变量传递到您的数据库,最好通过prepared statements来阻止SQL injection

这取决于您是否正在使用 MySQLi PDO 来确切了解您应如何做到这一点,但我&# 39;假设您没有使用mysql_构造函数,因为它是deprecated as of PHP 5.5,而且是removed in PHP 7

因此,这里有一个如何通过MySQLi准备好语句来做到这一点的例子:

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$stmt = $mysqli->prepare(
"SELECT * FROM tablename WHERE sender = ? && receiver = ?");
$stmt->bind_param("ss", $send, $rec); 
// "ss' is a format string, each "s" means string
// Each variable gets passed to the question marks, in order
$stmt->execute();
$stmt->bind_result($result);

然后,您将结果存储在$result中,并可以从那里自由操作。

希望这有帮助! :)