首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdo bind_param错误

pdo bind_param错误
EN

Stack Overflow用户
提问于 2015-01-31 20:19:48
回答 1查看 172关注 0票数 0

我在插入表时出错了

杰森:

代码语言:javascript
复制
{"machine":"1","postage":"1","tracking":"1","lve":"1","notice":"4","content":"12","refresh":"1","location":"cityname"}

我怎么才能让这事继续下去?

thx

编辑修正了你们提到的错误

代码语言:javascript
复制
function addOptions ($postData, $dbh) {

//print_r($postData);
$result = json_decode($postData);
//$location = $result->location;
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO options (location, display_time ,content_time, refresh_time, machine_data, postage_data, tracking_data, lve_data) 
                    VALUES (:location, :display_time, :content_time, :refresh_time, :machine_data, :postage_data, :tracking_data, :lve_data) 
                    ON DUPLICATE KEY UPDATE 
                    display_time= :display_time, refresh_time= :refresh_time, machine_data= :machine_data, content_time= :content_time, postage_data= :postage_data, tracking_data= :tracking_data, lve_data= :lve_data";
$preparedStatement = $dbh->prepare($sql);
$preparedStatement->bindParam(':location', $result->location);
$preparedStatement->bindParam(':display_time', $result->display);
$preparedStatement->bindParam(':content_time', $result->content);
$preparedStatement->bindParam(':refresh_time', $result->refresh);
$preparedStatement->bindParam(':machine_data', $result->machine);
$preparedStatement->bindParam(':postage_data', $result->postage);
$preparedStatement->bindParam(':tracking_data', $result->tracking);
$preparedStatement->bindParam(':lve_data', $result->lve);
$preparedStatement->execute();

}

现在我得到了这个错误消息

警告: PDOStatement::execute()期望参数1是数组,在第186行的D:\xampp\htdocs\admin\include\function.php中给出字符串

EN

回答 1

Stack Overflow用户

发布于 2015-01-31 20:26:11

很少有错误:

  1. 添加pdo准备: $preparedStatement = $dbh->prepare($sql);
  2. 将所有bind_param更改为: $preparedStatement>bindParam(‘:display’,$result->display);
  3. 将execute添加到if条件中,以便查看它是否有效: 如果($preparedStatement>execute() === FALSE){引发新的\异常(‘糟糕的查询插入!’);}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28256105

复制
相关文章

相似问题

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