gpt4 book ai didi

php - bind_param() 中的变量问题

转载 作者:行者123 更新时间:2023-11-30 23:53:37 27 4
gpt4 key购买 nike

我一直都有 error_reporting,而且我已经检查了很多次,所以我想我可能调用了一个错误的值或者没有声明正确的东西。任何人都可以跳进来告诉我代码是怎么回事,为什么仍然出现错误“在非对象上调用成员函数 bind_param()”,因为我很困惑:

$db=new mySQLi($host,$dbhuser,$dbhpwd,$dbh); 
$insert_stmt = $db->stmt_init();
$insert_stmt = $db->prepare("INSERT INTO food (id,timestamp,userid,tagline,group,location,event_date,event_time,image,type) VALUES(NULL,NOW(),?,?,?,?,?,?,?,?)");
$insert_stmt->bind_param("issssssi",$_SESSION['id'],$tagline,$organizer,$location,$event_date,$event_time,$image_name,$food_id);
$insert_stmt->execute();

userid 是我从存储的 cookie 中提取的整数。

$tagline、$organizer、$location 是最多 140 个字符的文本。

$event_date = $event_date= substr(date('Y'),0,2).$year."-"-".$month."-".$day;$event_time= date("H:i:s", strtotime($hour.":".$minute.$period));- 所有这些变量都是用户输入的两位数字作为文本

$image_name是文本,一个文件路径

type 是 1-29 的整数。

这是 ?数据库的值:38、test、test、test、2013-2-20、14:15:00、Halloween_Beer_2.jpg、7

这是在 mysql 中为名为 food 的表设置的屏幕截图: enter image description here

最佳答案

$insert_stmt = $db->prepare("INSERT INTO food (id,timestamp,userid,tagline,group,location,event_date,event_time,image,type) VALUES(NULL,NOW(),?,?,?,?,?,?,?,?)");
$insert_stmt->bind_param("issssssi",$_SESSION['id'],$tagline,$organizer,$location,$event_date,$event_time,$image_name,$food_id);
$insert_stmt->execute();

你做错了。BindParam 只接受一个值

$query->bindParam("value",":value",PDO::PARAM_INT);// type

你可以这样做

   $insert_stmt = $db->prepare("INSERT INTO food (id,timestamp,userid,tagline,group,location,event_date,event_time,image,type) VALUES(NULL,NOW(),?,?,?,?,?,?,?,?)");

$insert_stmt->execute(array("issssssi",$_SESSION['id'],$tagline,$organizer,$location,$event_date,$event_time,$image_name,$food_id))

或者你可以看到这个 PDO tutorial

关于php - bind_param() 中的变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com