我运行到错误使用insert into表PHP PDO bind_param错误
JSON:
{"machine":"1","postage":"1","tracking":"1","lve":"1","notice":"4","content":"12","refresh":"1","location":"cityname"}
我怎样才能这是怎么回事?
THX
编辑 固定的错误,你们提到
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对象::执行()预计参数1是数组,字符串给出D:\ xampp \ htdocs \ admin \ include \ function.php on line 186
看起来像是你忘记打电话'$ preparedStatement时= $ dbh->准备($ SQL);' – 2015-01-31 20:21:11
这并不能完全解释为什么它抱怨一个布尔值,而不是一个非对象或未定义的变量。是否有更多的代码没有显示? – 2015-01-31 20:22:18
你在哪里调用'prepareStatement'? – ethrbunny 2015-01-31 20:22:23