热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在MySQLi中无法通过引用传递参数-CannotpassparameterbyreferenceinMySQLi

IamtryingtopassastringintomyMySQLipreparedstatementbutitgivesmetheerror:我试图将一个字符串传

I am trying to pass a string into my MySQLi prepared statement but it gives me the error:

我试图将一个字符串传递给我的MySQLi预处理语句,但它给了我错误:

Cannot pass parameter by reference in MySQLi

在MySQLi中无法通过引用传递参数

Here is the relevant code:

这是相关的代码:

$kv = json_encode(array($key => $value));
$stmt->prepare("insert into rules (application_id, ruletype, rule_name, rule_info) values (?, ?, ?, ?);");
$stmt->bind_param('iiss', $application_id, 1, $config_name, $kv);

2 个解决方案

#1


22  

'iiss' and '1' cannot be passed as reference because they are not variables but string constants. You need to create two variables with mentioned values and pass them, because bind_param() function expects variables passed by reference.

'iiss'和'1'不能作为参考传递,因为它们不是变量而是字符串常量。您需要使用提到的值创建两个变量并传递它们,因为bind_param()函数需要通过引用传递的变量。

Edit: it's '1' that's causing the problem, not the name of parameter being bound ('iiss'). Sorry for misinformation, I was in the rush when I was answering to your question.

编辑:导致问题的是'1',而不是绑定参数的名称('iiss')。对于错误的信息感到抱歉,当我回答你的问题时,我很匆忙。

#2


0  

Check $config_name argument. '1' not pass as refernces

检查$ config_name参数。 '1'不能作为参考通过


推荐阅读
author-avatar
263企业邮箱温州授权合作伙伴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有