当我运行此代码以更新我的likesOne列并将其设为空("")....
$sql11 = $conn->prepare("UPDATE UserData SET likedOne=? WHERE username=?");
$sql11->bind_param('ss',"",$Username);
$Username = "netsgets";
$sql11->execute();
我收到此错误....
1 Fatal error: Cannot pass parameter 2 by reference in /xxx/xxx/xxx/test.php on line 36.
这条线是....
$sql11->bind_param('ss',"",$Username);
出了什么问题?
答案 0 :(得分:3)
您需要使用变量,bind_param
只接受变量而不是直接值。
$likedone ="";
$sql11->bind_param('ss',$likedone,$Username);
答案 1 :(得分:1)
bind_param(...)
期望其param参数作为参考。 See。这意味着它可能会改变它们(例如,当它们引用查询结果时)。每当你传递一些东西作为参考时,你必须给它一个名字(草率的经验法则,但更容易解释)。在某种程度上,这只是告诉PHP你关心潜在的修改(再次简化)。您可以使用$emptyString = ""; $sql11->bind_param('ss',$emptyString ,$Username);
答案 2 :(得分:-2)
对不起我之前的回答
您可以通过更改
来修复它 $sql11->bind_param('ss',"",$Username);
到
$variable ="";
$sql11->bind_param('ss',$variable,$Username);
因为bind_param更适合变量