为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复数组到字符串转换错误

如何修复数组到字符串转换错误

PHP
冉冉说 2023-07-08 16:18:26
我在 html 选择表单上使用多重选择,目的是在一次销售中插入两个 id。我收到此错误:Notice: Array to string conversion in C:\xampp\htdocs\allprojects\projects\Colégios\users\teacher\addscore.php on line 33insert 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);}   ?>到目前为止,我已经尝试遵循一些示例,但我仍然不明白它是如何工作的。
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

$diurno=isset($_POST['diurno']) ? (array) $_POST['diurno'] : '';

if (is_array($diurno)) {

    $diurno = implode('|', $diurno);

}

尝试使用此代码。我认为会正常工作。您收到该错误是因为您尝试保存到数据库,但该值是数组,您无法将其保存到数据库。您有两个选项可以使用唯一分隔符来内爆值,然后将 $select 保存到数据库,或者将数组转换为 json 并将其保存到数据库,然后您可以使用数据。


查看完整回答
反对 回复 2023-07-08
  • 1 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信