Php 动态表单与数据库

Php 动态表单与数据库,php,database,postgresql,Php,Database,Postgresql,早上好,我在数据库中插入文件时遇到问题。 我正在使用Postgresql。 这是我的数据库的结构: prenotazione(id、nome_rich、cogn_rich、email_rich、oggetto_rich) 内部(id、nome、cogn、email) esterni(id、名称、认知、电子邮件) 基本上,我必须提供插入所需参与者数量的可能性(包括各自的姓名、姓氏、电子邮件)。 当我尝试将它们插入数据库时,我在以下方面出错: 35)$result=pg_查询($conn,$quer

早上好,我在数据库中插入文件时遇到问题。 我正在使用Postgresql。 这是我的数据库的结构:

prenotazione(id、nome_rich、cogn_rich、email_rich、oggetto_rich)

内部(id、nome、cogn、email)

esterni(id、名称、认知、电子邮件)

基本上,我必须提供插入所需参与者数量的可能性(包括各自的姓名、姓氏、电子邮件)。 当我尝试将它们插入数据库时,我在以下方面出错:

35)$result=pg_查询($conn,$query2)//如果您使用的是pg_查询,并且$conn是连接资源

50)$result=pg_查询($conn,$query3)//如果您使用的是pg_查询,并且$conn是连接资源

这是我的代码:

index.php

Prenotazione Videoconferenza
$(文档).ready(函数(){
$(“#添加1”)。单击(函数(e){
var val1=$(“#n1”).val();

对于(var i=0;i而言,问题在于insert语句的结果语法

INSERT INTO interni (nome_int, cogn_int, email_int) VALUES 
('Nome1', 'Cognome1', 'email1')
, ('Nome2', 'Cognome2', 'email2')
, ...
, ('NomeN', 'CognomeN', 'emailN')
注意元组之间的逗号,在代码中,您连接行时没有使用逗号分隔行。 此外,正如评论中所建议的,您会受到SQL注入攻击,您应该在将输入存储到数据库之前对其进行清理

编辑:我的观点是,如果要插入多行,则必须使用逗号连接元组。 在代码中,替换所有

$query .= " ( '$iname', '$isurname', '$iemail' ) ";


当然,要插入的第一行不应以逗号开头,这意味着您必须修改代码,以检查用户是否只添加了一行或多行。

检查手册,插入多行时,多行之间用逗号分隔。您有sql注入问题。我应该检查什么??
INSERT INTO interni (nome_int, cogn_int, email_int) VALUES 
('Nome1', 'Cognome1', 'email1')
, ('Nome2', 'Cognome2', 'email2')
, ...
, ('NomeN', 'CognomeN', 'emailN')
$query .= " ( '$iname', '$isurname', '$iemail' ) ";
$query .= ", ( '$iname', '$isurname', '$iemail' ) ";