【发布时间】:2023-04-07 06:28:02
【问题描述】:
我在我的 html 选择表单上使用多项选择,目的是在一次销售中插入两个 id。
我收到此错误:
Notice: Array to string conversion in C:\xampp\htdocs\allprojects\projects\Colégios\users\teacher\addscore.php on line 33
insert into cursosprogramas (departamento, codigocurso, diurno, contacto, pos_laboral, contacto2, proc_por) values ('100', '120','Array', '88839', '7', '5353','2')Query failed.
代码:
<select type=text name=diurno[] value="<?php echo $name; ?>" multiple size=2><br>
<?php
$sql = "select * from professore1 where coordenacao='$coordenacao' order by coordenacao;";
for ($i= 0; $i < pg_numrows($res);$i++) {
$name = pg_fetch_result ($res, $i, "name");
$numero = pg_fetch_result ($res, $i, "numero");
echo "<option value = '$numero'>$name</option>";
}
?>
</select>
<?php
$idd=$_SESSION['jpgwapo'];
$id=$_POST['id'];
$grdid=$_POST['grdid'];
$diurno=$_POST['diurno'];
$contacto=$_POST['contacto'];
$pos_laboral=$_POST['pos_laboral'];
$contacto2=$_POST['contacto2'];
$con = @pg_connect ("port=5432 host=localhost dbname=postgres user=postgres password=a");
$sql = "insert into cursosprogramas (departamento, codigocurso, diurno, contacto, pos_laboral, contacto2, proc_por) values ('$id', '$grdid','$diurno',
'$contacto', '$pos_laboral', '$contacto2','$idd')";
$res = @pg_query ($con, $sql);
if ($res == NULL){
echo "Query failed.";
exit (0);
}
?>
到目前为止,我已经尝试过一些示例,但我仍然不明白它是如何工作的。
【问题讨论】:
-
答案就在错误提示中:
values ('100', '120','Array',...不知怎么$diurno是一个数组,你试着把它当成字符串来用。 -
谢谢@Michal,我该如何解决?
-
我无法回答这个问题,因为我不知道
$_POST['diurno'];中有什么内容尝试var_dump($_POST)看看是否有问题。 -
“目的是在一次销售中插入两个 id” - 你的意思是,你想把两个值放在一条记录的一列中,用逗号分隔?然后,您需要先将数组内容转换为该格式,例如使用 implode。 (安全问题和违反适当规范化的问题,暂且不提。)
-
是的@CBroe 想法是将两个数据或 ID 存储在一个单元格中
标签: php arrays postgresql