我在sqlsrv中使用php pdo和MSSQL 2008.我在插入数组和非数组值时遇到问题。
这是我的代码。
$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();
问题是每次我保存我的数组时,我最终只插入数组的最后一个值。
答案 0 :(得分:0)
将此语句放在循环
中$c = $st->execute();