Php 内部联接阻止用户,然后联接朋友表以删除用户
我知道当使用内部连接时,PHP会变得非常复杂。我已经有了一些想法,但似乎没有任何效果 这就是我努力的方向 当用户A阻止用户B时,用户B将从他们的朋友中删除 所以我有这个,有一个错误 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“user1\u id=15、user2\u id=3和status=1”附近使用的正确语法 在街区内加入朋友。 删除第1行的“fro” 谁能完整地解释一下内部连接,并告诉我哪里出了问题,以便将来使用Php 内部联接阻止用户,然后联接朋友表以删除用户,php,mysqli,inner-join,Php,Mysqli,Inner Join,我知道当使用内部连接时,PHP会变得非常复杂。我已经有了一些想法,但似乎没有任何效果 这就是我努力的方向 当用户A阻止用户B时,用户B将从他们的朋友中删除 所以我有这个,有一个错误 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“user1\u id=15、user2\u id=3和status=1”附近使用的正确语法 在街区内加入朋友。 删除第1行的“fro” 谁能完整地解释一下内部连接,并告诉我哪里出了问题,以便将来使用 $query = mysqli_query($
$query = mysqli_query($mysqli,"INSERT INTO block user1_id=$user1_id AND user2_id=$user2 AND status=1
INNER JOIN friends ON block.
DELETE from friends where user1_id=$user1_id AND user2_id=$user2 AND status=2 ")
or die (mysqli_error($mysqli));
您的SQL是各种各样的混乱。(这不是PHP的错) 请看一下语法和语法。我也不理解您在
INSERT
语句中的内部连接。
MySQLi也只允许每个查询执行一个命令(关于安全和良好设计的内容?)
INSERT
应该是这样的(我不知道您的表结构,所以我在这里假设:
INSERT INTO block (user1_id, user2_id, status) VALUES ('$user1_id', '$_user2_id', 1)
除此之外,您的删除查询看起来还不错。只需确保它位于自己的mysqli_query()
中,您应该使用两个不同的语句,并且可以使用参数化查询
$sql_insert = "INSERT INTO block (user1_id, user2_id, status) values (?,?,1)";
$stmt = $mysqli->prepare($sql_insert);
$stmt->bind_param("s", $user1_id);
$stmt->bind_param("s", $user2_id);
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
$sql_delete = "DELETE FROM friends where user1_id=? AND user2_id=? AND status=2 "
$stmt = $mysqli->prepare($sql_delete);
$stmt->bind_param("s", $user1_id);
$stmt->bind_param("s", $user2_id);
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
为什么要在插入中使用内部联接
?感谢您非常有用,非常有帮助,并且没有打倒我。现在它更有意义了。