【发布时间】:2018-07-25 07:18:01
【问题描述】:
我正在创建一个简单的网络应用程序,它是一个用于在 DB (Postgres) 中插入数据的表单。
我有这张桌子:
prenotazione (id,nome_rich,cogn_rich,email_rich,oggetto_rich)
interni (id,nome_int,cogn_int,email_int)
esterni (id,nome_est,cogn_est,email_est)
现在关于“interni”和“esterni”表,用户应该选择要插入多少数据,所以我实现了一个动态表单:
**index.php
<div id="start">
<div id="first">
Nome:<input type="text" name="iname[]" size="20"><br>
Cognome: <input type="text" name="isurname[]" size="20"><br>
Email: <input type="email" name="iemail[]" size="20"><br>
<br>
</div>
</div>
<br>
<b> Numero partecipanti interni:</b>
<input type="text" id="n1" value="1"><br>
<button><a href="#" id="add1">Aggiungi partecipante</a></button>
</div>
**input.php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$testo = $_POST['testo'];
//inserting data order
$query1 = "INSERT INTO prenotazione (id,nome_rich, cogn_rich, email_rich,oggetto_rich) VALUES (1,'$name','$surname', '$email','$testo')";
//execute the query here
$result = pg_query($conn, $query1 ); //if you are using pg_query and $conn is the connection resource
// Interni
$query = "";
if( !empty( $_POST['iname'] ) ) {
foreach( $_POST['iname'] as $key => $iname ) {
$isurname = empty( $_POST[$key]['isurname'] ) ? NULL : $_POST[$key]['isurname'];
$iemail = empty( $_POST[$key]['iemail'] ) ? NULL : $_POST[$key]['iemail'];
$query .= " ( '$iname', '$isurname', '$iemail' ) ";
}
}
if( !empty( $query ) ) {
$query2 = "INSERT INTO interni (nome_int, cogn_int, email_int) VALUES ".$query;
$result = pg_query($conn, $query2 );
问题是当他们尝试将数据插入“interni”并且数据不止一个时,他们不能并且我收到错误消息。 (基本上,当他们尝试插入多个表时,“interni”表是空的)。 我该如何解决这个问题? 谢谢大家
【问题讨论】:
-
您遇到的错误是什么?
-
值之间缺少逗号。
-
@KMS 基本上我不能插入多个数据,因为它们会导致连接。我收到错误: $result = pg_query($conn, $query2 ); //如果你使用 pg_query 并且 $conn 是连接资源
-
@ŁukaszKamiński 正是我认为这是问题所在,但我发现很难理解如何解决这个问题。
标签: php database postgresql