【发布时间】:2014-06-04 13:33:13
【问题描述】:
我已将我的数据库从 mysql 转换为 SQL server,并且正在处理爆炸性的日期和时间。我收到错误:explode() expects parameter 2 to be string, 这是代码:
while($r = sqlsrv_fetch_array ($sth))
{
//$temp = array();
// assumes dates are in the format "yyyy-MM-dd"
$dateString = $r['date'];
$dateArray = explode('-', $dateString);
$year = $dateArray[0];
$month = $dateArray[1] - 1; // subtract 1 to convert to javascript's 0-indexed months
$day = $dateArray[2];
var_dump($dateString);
// assumes time is in the format "hh:mm:ss"
$timeString = $r['time'];
$timeArray = explode(':', $timeString);
$hours = $timeArray[0];
$minutes = $timeArray[1];
$seconds = $timeArray[2];
var_dump($timeString);
$temp = array();
$temp[] = array('v' => "Date($year, $month, $day, $hours, $minutes, $seconds)");
$temp[] = array('v' => $r['Temperatur']);
$rows[] = array('c' => $temp);
}
当我对我得到的变量 $dateString 和 $timeString 执行 var_dump 时,第一个显示 dateString 和第二个 timeString( PS:在我的 SQL 服务器中,日期保存为日期,时间保存为类型 (0):
这是我对我的mysql数据库执行此操作时的样子,正确:
【问题讨论】:
-
尝试调试
$dateString和$timeString。 -
检查 $dateString 和 $timeString === null
-
显示完整的 PHP 代码..
-
更新了,我把这两个变量的var_dump贴出来。
-
这是我在做 DateString 和 TimeString 的 var_dump 时得到的:dropbox.com/s/i9af32bj9mkfsp3/error.png
标签: php sql sql-server explode