【发布时间】:2014-03-03 16:02:26
【问题描述】:
我的 Codeigniter 应用程序在工作时出现问题。 我正在使用虚拟 Windows Server 2008 R2、IIS、MSSQL 和 PHP
当我尝试在数据库中插入新记录时,我收到以下警告(每次插入):
遇到了 PHP 错误
严重性:警告
消息:array_shift() 期望参数 1 为数组,给定 null
文件名:sqlsrv/sqlsrv_driver.php
行号:423
我正在使用的代码:
$data = array(
'DataTypeSpecification' => $dataTypeSpecID,
'DocumentCode' => $docCode,
'Title' => $title,
'ProjectCode' => $projectCode,
'Process' => $process,
'Author' => $author,
'Status' => $status,
'Version' => $version,
'DateApproval' => $dateApproval,
'Medium' => $medium,
'PaperArchivedDate' => $paperArchivedDate,
'DMSArchivedDate' => $DMSArchivedDate,
'EDocDocument' => $eDocDocument,
'Wildcard' => $wildcard,
'SequentialNumber' => $seqNumber,
'Location' => $location,
'ArchivedShelf' => $archivedShelf,
'Container' => $container,
'Remarks' => $remakrs,
'APDProjectStatus' => $APDProjectStatus,
'SelectedForIND' => $selectedForIND);
$result = $this->db->insert('dbo.ProjectRecords', $data);
return $result;
所有变量都设置正确。 这是有趣的事情。似乎所有内容都正确插入到数据库中...
有人知道为什么会显示这个警告吗?
问候 尼古拉
【问题讨论】:
-
在代码的任何地方都看不到
array_shift().. -
uumm 因为使用了 array_shift 函数。但它并没有被传递一个值......如果没有看到它,我们将无法知道它在做什么。但该警告并没有做任何“坏事”。它只是没有做任何事情。
-
你能搜索一下并找到array_shift并发布它所在函数的代码吗...
-
包含
array_shift()的代码来自CI的sqlsrv驱动。具体来自_error_number()函数。在发布代码之后,您还对$result进行其他操作吗? -
Samutz 好电话,抱歉今天早上咖啡没喝完。
标签: php database codeigniter warnings