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

为什么我在“Array”第 2 行:VALUES Array 处或附近出现此错误:语法错误?

为什么我在“Array”第 2 行:VALUES Array 处或附近出现此错误:语法错误?

PHP
LEATH 2023-07-07 10:31:49
我正在遵循此线程中给出的示例为什么 insert 不起作用并且在 postresql 上不输出任何错误?当我尝试使用此选项在数据库内插入多个值时;我遇到此错误&ldquo;错误:&ldquo;数组&rdquo;第 2 行或附近的语法错误:VALUES 数组..&rdquo;请问有什么帮助吗?下面是代码:       &hellip;&hellip;.       "INSERT INTO people( mom, non, ooo)      VALUES     ($1,   $2,  $3),    ($4,   $5,  $6),   ($7,   $8,  $9),   ($10, $11, $12)  ON CONFLICT (mom) DO NOTHING";   $rcon = pg_query_params($connection, $ins,    Array(   [ $mom ,$non,  $kooo],   [ $mom 1,$non1,  $kooo1],   [ $mom 2,$non2,  $kooo2],   [ $mom 3,$non3,  $kooo3]       )   );   if(!$rcon){   echo pg_last_error($connection);       }else{            echo "Record added to database</br>"; //success confirmation      }  This gives this error;  ERROR: bind message supplies 4 parameters, but prepared statement "" requires 12 phpPostgreSQLsql插入
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

您正在为参数绑定提供数组的数组。试试这个:


    $rcon = pg_query_params($connection, $ins, 

        [

            $mom,  $non,   $kooo,

            $mom1, $non1,  $kooo1,

            $mom2, $non2,  $kooo2,

            $mom3, $non3,  $kooo3,

        ]

    );


查看完整回答
反对 回复 2023-07-07
?
守候你守候我

TA贡献1802条经验 获得超10个赞

我不明白数组与你的问题有什么关系。据推测,您想要插入多行。那将是:


INSERT INTO people( mom, non, ooo)

VALUES 

    ($1,   $2,  $3), 

    ($4,   $5,  $6),

    ($7,   $8,  $9),

    ($10, $11, $12)

ON CONFLICT (mom) DO NOTHING


查看完整回答
反对 回复 2023-07-07
  • 2 回答
  • 0 关注
  • 71 浏览

添加回答

举报

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