当我运行此代码更新我的likedOne列并使其为空(“”).
$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);怎么了?
发布于 2017-09-13 02:24:13
您需要使用一个变量,bind_param只接受变量,而不是直接使用值。
$likedone ="";
$sql11->bind_param('ss',$likedone,$Username);发布于 2017-09-13 02:16:35
bind_param(...)期望它的param参数作为引用。看见。这意味着它可能会更改它们(例如,当它们引用查询的结果时)。当你把某件东西作为引用传递时,你必须给它一个名字(草率的经验法则,但使它更容易解释)。在某种程度上,这只是告诉PHP您关心潜在的修改(再次简化)。您可以使用$emptyString = ""; $sql11->bind_param('ss',$emptyString ,$Username);
发布于 2017-09-13 02:06:36
很抱歉我之前的回答
你可以通过改变
$sql11->bind_param('ss',"",$Username);至
$variable ="";
$sql11->bind_param('ss',$variable,$Username);因为bind_param能更好地处理变量
https://stackoverflow.com/questions/46187728
复制相似问题