Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PDO PHP错误,现在确定如何修复?_Php_Mysql_Pdo_Notice - Fatal编程技术网

PDO PHP错误,现在确定如何修复?

PDO PHP错误,现在确定如何修复?,php,mysql,pdo,notice,Php,Mysql,Pdo,Notice,我收到以下错误: 注意:第371行中的数组到字符串转换 警告:PDOStatement::execute()[PDOStatement.execute]: SQLSTATE[HY093]:无效参数编号:绑定变量的数量 与第371行上的令牌数不匹配 生成此错误的代码如下所示: // update member file report... $sql = 'UPDATE memberFileReports SET membersAdded =?, membersCanceled=?, errors=

我收到以下错误:

注意:第371行中的数组到字符串转换

警告:PDOStatement::execute()[PDOStatement.execute]: SQLSTATE[HY093]:无效参数编号:绑定变量的数量 与第371行上的令牌数不匹配

生成此错误的代码如下所示:

// update member file report...
$sql = 'UPDATE memberFileReports SET membersAdded =?, membersCanceled=?, errors=?, dateProcessed=?, totalProcessed=? WHERE id = ?';

$totalToProcess = $membersAdded + $membersCanceled + $totalErrorCount;

$userarray = array($membersAdded,$membersCanceled,$totalErrorCount,date("Y-m-d H:i:s"),$totalToProcess,$fileDataReportId);

$stmt = $this->db->prepare($sql);

$stmt->execute(array($userarray));

请帮助???

更改
$stmt->execute(array($userarray))
$stmt->execute($userarray)。由于
$userarray
已经是一个数组,因此不需要将其包装到新数组中。通过像您的代码一样将其包装在一个新数组中,PDO将在需要全部6个参数时收到1个参数。这就是为什么生成的错误表示“绑定变量的数量与令牌的数量不匹配”。

用户数组变量在创建时设置为数组。在添加到其他阵列的已执行操作系统上


删除重复的数组声明,或者执行函数认为只有一个参数。

谢谢,这应该很容易:)