首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的“不能通过引用传递参数2”错误

PHP中的“不能通过引用传递参数2”错误
EN

Stack Overflow用户
提问于 2017-09-13 02:01:50
回答 3查看 4.7K关注 0票数 3

当我运行此代码更新我的likedOne列并使其为空(“”).

代码语言:javascript
复制
    $sql11 = $conn->prepare("UPDATE UserData SET likedOne=? WHERE username=?");
    $sql11->bind_param('ss',"",$Username);
    $Username = "netsgets";
    $sql11->execute();

我知道这个错误..。

代码语言:javascript
复制
1 Fatal error: Cannot pass parameter 2 by reference in /xxx/xxx/xxx/test.php on line 36. 

台词是..。

代码语言:javascript
复制
$sql11->bind_param('ss',"",$Username);

怎么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-13 02:24:13

您需要使用一个变量,bind_param只接受变量,而不是直接使用值。

代码语言:javascript
复制
   $likedone ="";
   $sql11->bind_param('ss',$likedone,$Username);
票数 11
EN

Stack Overflow用户

发布于 2017-09-13 02:16:35

bind_param(...)期望它的param参数作为引用。看见。这意味着它可能会更改它们(例如,当它们引用查询的结果时)。当你把某件东西作为引用传递时,你必须给它一个名字(草率的经验法则,但使它更容易解释)。在某种程度上,这只是告诉PHP您关心潜在的修改(再次简化)。您可以使用$emptyString = ""; $sql11->bind_param('ss',$emptyString ,$Username);

票数 1
EN

Stack Overflow用户

发布于 2017-09-13 02:06:36

很抱歉我之前的回答

你可以通过改变

代码语言:javascript
复制
 $sql11->bind_param('ss',"",$Username);

代码语言:javascript
复制
$variable ="";
$sql11->bind_param('ss',$variable,$Username);

因为bind_param能更好地处理变量

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46187728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档