gpt4 book ai didi

php - 将联接与 SQL 查询结合使用

转载 作者:行者123 更新时间:2023-11-29 14:19:53 26 4
gpt4 key购买 nike

我只想使用联接从数据库中查询我想要的数据。然而,我在让查询正常工作时遇到了困难。

这是我的代码。看一下,

<?php 

$user_id= $_COOKIE['user_id'];

$dbc= mysqli_connect('localhost', 'root', '', 'beta');
$query=" SELECT * FROM posts LEFT JOIN relationships ON (posts.user_id=
relationship.user_2 AND relationships.user_1 = $user_id AND relationship.status = 4 OR
3 OR 1)";
$result= mysqli_query($dbc, $query);

echo mysqli_num_rows($result);

?>

我只是想通过查看查询是否返回任何行来查看此时查询是否有效。但这行不通。我可能做错了什么?

最佳答案

WHERE 子句条件中的 OR 语法不正确。尝试这样的事情:

SELECT  * 
FROM posts a
LEFT JOIN relationships b
ON a.user_id = b.user_2
WHERE b.user_1 = $user_id AND
b.status IN (1,3,4)

我建议您使用PDO MYSQLi 扩展。

在 PDO 中,它可能如下所示:

<?php
$stmt = $dbh->prepare("SELECT *
FROM posts a
LEFT JOIN relationships b
ON a.user_id = b.user_2
WHERE b.user_1 = ? AND
b.status IN (1,3,4)");

$stmt->bindParam(1, $user_id);
$stmt->execute();

?>

请记住始终过滤您的输入,尤其是用于查询数据库的输入。

关于php - 将联接与 SQL 查询结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11919505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com