PHP:MYSQLI-从同一行获取数据
我使用了相同的数据,但这里只提供了一个 现在我想从最后一行获取文本PHP:MYSQLI-从同一行获取数据,php,mysql,mysqli,Php,Mysql,Mysqli,我使用了相同的数据,但这里只提供了一个 现在我想从最后一行获取文本 $sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1'"); if($sql_query->num_rows > 0) { while ($fetch_data = $sql_query->fetch_arr
$sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1'");
if($sql_query->num_rows > 0) {
while ($fetch_data = $sql_query->fetch_array(MYSQLI_ASSOC)) {
if($fetch_data["sent_by"] == 1) {
echo $fetch_data["sent_to"]. " TEXT: ". $fetch_data["text"]. </br>";
} else {
echo $fetch_data["sent_by"]. " TEXT: ". $fetch_data["text"]. </br>";
}
}
}
数据库结构:
对不起,我的英语不好
如果字段id为自动递增字段,则可以使用此SQL查询获取最后一行:
SELECT DISTINCT `sent_by`, `sent_to`, `id`, `text` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1' ORDER BY `id` DESC LIMIT 1
因此,改变这一点:
$sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1'");
关于这一点:
$sql_query = $connection->query("SELECT DISTINCT `sent_by`, `sent_to`, `id`, `text` FROM `chat` WHERE `sent_by` = '1' OR `sent_to` = '1' ORDER BY `id` DESC LIMIT 1");
在这个新查询中,您将按照id字段的值降序排列所有结果
如果要从查询中删除DISTINCT,还可以从查询中的选择列表中删除id。删除DISTINCT,然后仅创建查询
$sql_query = $connection->query("SELECT sent_by, sent_to FROM chat WHERE sent_by = '1' OR `sent_to` = '1'");
文本不在select语句中@会计师م当我添加时,我没有得到相同的数据通知:试图获得非-object@Freensi执行echo$connection->error并查看errorORDER BY NOT WORK I GET ERRORExpression 1 of ORDER BY子句不在选择列表中,引用列'new_database.chat.id',该列不在选择列表中;这与DISTINCTWhy不兼容您为什么将id添加到字段列表中?