[英]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.