我正在尝试用php编写的查询编写mysql查询。
首先是查询
$query="delete from friends where UserA=?, UserB=?
or (UserB=?, UserA=?)";
我想从数据库中删除朋友条目。该条目可以按任何顺序排列。例如,可以输入朋友关系作为UserA
成为UserB
或UserB
的朋友,成为UserA
的朋友。但无论如何只有一个条目。所以要检查确保删除条目我试图在任何两种情况下找到并删除它。
其次,
我很困惑将参数传递给上面的sql查询。上述查询中的参数为四。所以我猜测要传递四个参数。但我认为如果我这样做$stmt->bind_param('ii',$userAid, $userBid)
这应该工作???
$stmt=$mysqli->stmt_init();
$stmt->prepare($query);
$stmt->bind_param('iiii',$userAid, $userBid, $userAid, $userBid);
$stmt->execute();
答案 0 :(得分:1)
让我们总结一下:
/* fixed the query */
$query="delete from friends where (UserA=? AND UserB=?) OR (UserB=? AND UserA=?)";
/* invoke the query */
$stmt=$mysqli->stmt_init();
$stmt->prepare($query);
// (1 parameter for each "?" )
$stmt->bind_param('iiii',$userAid, $userBid, $userAid, $userBid);
$stmt->execute();