$stmt2 = $db->prepare("INSERT INTO friend(`uId`,`friendId`) VALUES (?,?), VALUES(?,?)");
$stmt2->bind_param('ssss', $userId,$friendId,$friendId,$userId);
我希望它会在结果中插入2行
uId friendId
1 2
2 1
但它返回对非对象
上的成员函数bind_param()的调用答案 0 :(得分:0)
INSERT只接受一个VALUES子句,即使VALUES子句包含多个元组。
INSERT INTO friend(`uId`,`friendId`) VALUES (?,?), (?,?)
但更重要的是,您应始终检查prepare()
的返回值,因为如果查询中出现错误,则返回 false 。当然,你不能在假值上调用bind_param()
方法,因为false根本不是具有方法的对象。
答案 1 :(得分:0)
试试这个
$a = '';
$b = '';
$stmt2 = $db->prepare("INSERT INTO friend(`uId`,`friendId`) VALUES (?,?)");
$stmt2->bind_param('ss', $a, $b);
$a = $userId;
$b = $friendId;
$stmt2->execute();
$a = $friendId;
$b = $userId;
$stmt2->execute();