繁体   English   中英

如何在PHP中获取SQL查询

[英]how to get to sql query in php

如何通过$ sql和$ sqll一起回显数据,任何人都可以解决此问题

$sql = "SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid = '13'";
$sqll = "SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid = '15'";
$result = $conn->query($sql);
$resultt = $conn->query($sqll);
if ($result->num_rows > 0 && $resultt->num_rows > 0){
    // output data of each row
    while($row = $result->fetch_assoc() && $roww = $resultt->fetch_assoc()) {
        echo "NO" . $row["chat_msg"]. $roww["chat_msg"].  "<br>";
    }
} else {
    echo "0 results";
}

与其合并两个结果,不如只查询单个查询中的所有相关行,可能会更好:

$sql = 
"SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid IN ('13', '15')";

只需将分号放在另一个查询之后,这样它将在单个查询中返回所有行。

像那样。

1个选项->

$sql = "SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid = '13';SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid = '15'";

2个选项-> with in Operater(以下SQL语句选择13,15中用户标识的所有行)更多信息,请参见此处https://www.w3schools.com/sql/sql_in.asp

$sql = "SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid IN ('13', '15')" ;

您有两个查询,即

SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid = '13'
SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid = '15'

尽管此查询可以正常运行,但可以按以下方式进行优化:

SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND userid IN ('13','15');

除了两个单独的查询,您只能使用一个查询来满足您的需求。

因此,打印查询所面临的问题也将得到解决,查询也将得到优化。

您还可以使用:-

$sql = "SELECT chat_msg, chat_date FROM chat WHERE chat_room_id = '13' AND (userid = '13' OR userid = '15')";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM