首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未明错误: mysqli_stmt::bind_param():参数#7

未明错误: mysqli_stmt::bind_param():参数#7
EN

Stack Overflow用户
提问于 2021-06-21 16:42:54
回答 1查看 979关注 0票数 1

我不知道为什么,但预科if (!$stmt->prepare($sql))很好。但是当我使用$stmt->bind_param();的时候,我发现了一个错误。变量的类型是正确的,我知道我不必使用strval(),但它只是shure --这不是问题所在。我已经找了几天了,现在还困在

代码:

代码语言:javascript
复制
 function validPost(){
            $sensorMac      = strval($_POST['mac']); 
            $sensorName     = strval($_POST['nameSensor']);
            $sensorLocation = strval($_POST['locationSensor']);
            $sensorUnitId   = intval($_POST['unitId']);
            $sensorInfo     = strval( $_POST["infoSensor"]);

            $sql = "INSERT INTO sensor ( mac, name, location, info, unitID, user_id) values(?, ?, ?, ?, ?, ?);";
            $stmt = mysqli_stmt_init($GLOBALS['conn']);

            if (!$stmt->prepare($sql)) {
                header("location: /webservices/sensor/add-sensor.php?show=stmt");
                exit();
            }

            $stmt->bind_param("ssssii", $sensorMac, $sensorName , $sensorLocation, $sensorInfo , $sensorUnitId, intval($_SESSION['userId']));   
            
            $stmt->execute();
            $stmt->close();
}

我所犯的错误:

代码语言:javascript
复制
PHP Fatal error:  Uncaught Error: mysqli_stmt::bind_param(): Argument #7 cannot be passed by reference in D:\webpage\webservices\sensor\add-sensor.php:40
Stack trace:
#0 D:\webpage\webservices\sensor\add-sensor.php(74): validPost()
#1 {main}
  thrown in D:\webpage\webservices\sensor\add-sensor.php on line 40

这是正在使用的数据库:我的数据库

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-21 16:48:37

bind_param()函数要求通过引用传递类型参数之后的所有参数。

但你的第七条理由是:

代码语言:javascript
复制
intval($_SESSION['userId'])

这不是一种价值。它不是一个变量,您可以从中获取一个引用。

换句话说,你不能这样做:

代码语言:javascript
复制
intval($_SESSION['userId']) = 12345; // ERROR

因此,您必须创建一个变量:

代码语言:javascript
复制
$userId = intval($_SESSION['user_id']);
$stmt->bind_param("ssssii", $sensorMac, $sensorName, $sensorLocation,
  $sensorInfo, $sensorUnitId, $userId);   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68071731

复制
相关文章

相似问题

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