【发布时间】:2013-12-13 18:37:29
【问题描述】:
我传递给数据库表 column (date) 的数组日期 format ($fanniemaeDate) 是 11/19/2013,我试图在我的 PDO 准备语句中将其转换为 MySQL 格式 2013-11-19,但是它给我一个错误"SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens"
我刚刚学习 PDO,所以不确定准备语句中的 STR_TO_DATE 格式有什么问题,或者这是否是准备语句的正确方法。
如果我从准备语句中删除STR_TO_DATE,它将正确传递时间和速率,并将日期存储为0000-00-00
我需要知道编写prepare语句的正确方法。
//PDO insert prepare statement for fannie_90dayrate table
$insertIrate = $pdo->prepare("INSERT INTO fannie_90dayrate (date, time, 90dayrate)
VALUES (STR_TO_DATE(':fanniemaeDate', '%m/%d/%Y'), :fanniemaeTime, :fanniemaeRate)");
//PDO execute statement
$insertIrate->execute(array(
':fanniemaeDate' => $fanniemaeDate['Fannie Mae Date'],
':fanniemaeTime' => $fanniemaeTime['Fannie Mae Time'],
':fanniemaeRate' => $fanniemaeRate['Fannie Mae Rate']));
【问题讨论】: