【发布时间】:2013-12-09 03:52:24
【问题描述】:
我在带有 MSSQL 2008 的 sqlsrv 中使用 php pdo。我在插入数组和非数组值时遇到问题。
这是我的代码。
$st = $this->db->prepare("USE guidance EXEC guidance.stud_precord_insert {$sql} ");
foreach($attributes as $key => &$value) {
$k = ':'.$key;
if ($value === '')
{
$val = 'NULL';
$par = PDO::PARAM_NULL;
$st->bindValue($k, $val,$par);
}
elseif(is_array($value))
{
foreach($value as $v)
{
if ($v === '')
{
$v = 'NULL';
$par = PDO::PARAM_NULL;
$st->bindValue($k, $v,$par);
}
else
{
$par =PDO::PARAM_STR;
$st->bindValue($k, $v,$par);
}
}
}
else{
$val = $value;
$par =PDO::PARAM_STR;
echo "bindValue($k, $val,$par)<br/>";
$st->bindValue($k, $val,$par);
}
}
$c = $st->execute();
问题是每次我保存数组时,我最终只插入数组的最后一个值。
【问题讨论】:
标签: php sql arrays binding pdo