PHP中post调用后的多次插入
我需要将post调用中的相同数据更新到MYSQL DB中。 这是表格代码:PHP中post调用后的多次插入,php,mysql,http-post,Php,Mysql,Http Post,我需要将post调用中的相同数据更新到MYSQL DB中。 这是表格代码: <form action="salva_debiti.php" method="post"> '; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection fa
<form action="salva_debiti.php" method="post">
'; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM rimanenti_mese WHERE Mese = $mese AND Anno = $anno ORDER BY cognome ASC"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo '
<table id="ricambi" style="width: 100%;" border="1">
<tr>
<td id="titolotd">Nome</td>
<td id="titolotd">Cognome</td>
<td id="titolotd">Da incassare pezzi</td>
<td id="titolotd">Da incassare benzina</td>
<td id="titolotd">Residuo '.$mese_scritto.' '.$anno_pr_div.'</td>
</tr>'; while($row = $result->fetch_assoc()) { echo '
<tr>
<td>
<input type="" name="nome[]" value="'.$nome.'">
</td>
<td>
<input type="" name="cognome[]" value="'.$cognome.'">
</td>
<td>
<input type="" name="pezzi[]" value="'.$pezzi.'">
</td>
<td>
<input type="" name="benzina[]" value="'.$benzina.'">
</td>
<td>
<input type="" name="rimanenti[]" value="'.$rimanenti.'" </td>
</tr>
' ; } echo '
<input type="submit" value="Submit">'; echo '</form>';
'; // 创建连接$conn=newmysqli($servername、$username、$password、$dbname);//如果($conn->connect_error){die($conn->connect_error)}$sql=“SELECT*FROM rimanenti_mese,其中mese=$mese和Anno=$Anno ORDER BY cognome ASC”,请检查连接$结果=$conn->query($sql);如果($result->num_rows>0){echo'
诺姆
同源的
英加萨雷佩齐酒店
本齐纳大酒店
住宅:$mese_scritto.$anno_pr_div
“;而($row=$result->fetch_assoc()){echo”
将$conn->query($sql)
移动到foreach
循环中
foreach($_POST['nome'] as $nome) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
$sql = ".....";
if ($conn - > query($sql) === TRUE) {
} else {
}
}
因为现在您只执行一个查询,并且在foreach
循环结束后,$sql
包含对最后一项的查询
更新:
wordArray
是数组值的字符串表示形式。
当您执行$nome=$\u POST['nome']
时,您的$\u POST['nome']
是数组,因此将数组添加到字符串会导致word数组
。
因此,您应该在每次迭代中获取数组的每一项,例如:
$i = 0;
foreach ($_POST['nome'] as $nome) {
$nome = $_POST['nome'][$i];
$cognome = $_POST['cognome'][$i];
$rimanenti_ins = $_POST['rimanenti'][$i];
// sql
// run query
$i++;
}
将$conn->query($sql)
移动到foreach
循环中
foreach($_POST['nome'] as $nome) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
$sql = ".....";
if ($conn - > query($sql) === TRUE) {
} else {
}
}
因为现在您只执行一个查询,并且在foreach
循环结束后,$sql
包含对最后一项的查询
更新:
wordArray
是数组值的字符串表示形式。
当您执行$nome=$\u POST['nome']
时,您的$\u POST['nome']
是数组,因此将数组添加到字符串会导致word数组
。
因此,您应该在每次迭代中获取数组的每一项,例如:
$i = 0;
foreach ($_POST['nome'] as $nome) {
$nome = $_POST['nome'][$i];
$cognome = $_POST['cognome'][$i];
$rimanenti_ins = $_POST['rimanenti'][$i];
// sql
// run query
$i++;
}
将$conn->query($sql)
移动到foreach
循环中
foreach($_POST['nome'] as $nome) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
$sql = ".....";
if ($conn - > query($sql) === TRUE) {
} else {
}
}
因为现在您只执行一个查询,并且在foreach
循环结束后,$sql
包含对最后一项的查询
更新:
wordArray
是数组值的字符串表示形式。
当您执行$nome=$\u POST['nome']
时,您的$\u POST['nome']
是数组,因此将数组添加到字符串会导致word数组
。
因此,您应该在每次迭代中获取数组的每一项,例如:
$i = 0;
foreach ($_POST['nome'] as $nome) {
$nome = $_POST['nome'][$i];
$cognome = $_POST['cognome'][$i];
$rimanenti_ins = $_POST['rimanenti'][$i];
// sql
// run query
$i++;
}
将$conn->query($sql)
移动到foreach
循环中
foreach($_POST['nome'] as $nome) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
$sql = ".....";
if ($conn - > query($sql) === TRUE) {
} else {
}
}
因为现在您只执行一个查询,并且在foreach
循环结束后,$sql
包含对最后一项的查询
更新:
wordArray
是数组值的字符串表示形式。
当您执行$nome=$\u POST['nome']
时,您的$\u POST['nome']
是数组,因此将数组添加到字符串会导致word数组
。
因此,您应该在每次迭代中获取数组的每一项,例如:
$i = 0;
foreach ($_POST['nome'] as $nome) {
$nome = $_POST['nome'][$i];
$cognome = $_POST['cognome'][$i];
$rimanenti_ins = $_POST['rimanenti'][$i];
// sql
// run query
$i++;
}
foreach完成后,您正在调用$conn->query($sql)
,这意味着在$sql
中只存储foreach循环中的最后一个值
试试这个:
// Create connection
$conn = new mysqli( $servername, $username, $password, $dbname );
// Check connection
if ( $conn->connect_error) {
die("Connection failed: ".$conn -> connect_error);
}
foreach ( $_POST['nome'] as $nome ) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
//$sql = "UPDATE rimanenti_mese SET Rimanenti='$rimanenti_ins' WHERE Nome='$nome' AND Cognome = '$cognome'";
$sql = "INSERT INTO rimanenti_mese (Nome, Cognome, Mese, Anno, Benzina, Pezzi, Rimanenti)
VALUES('$nome', '$cognome', '09', '2015', 'xxxx', 'fdfdfd', '$rimanenti_ins')
";
//put your ->query into the foreach loop
if ($conn -> query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: ".$sql.
"<br>".$conn -> error;
}
}
$conn -> close();
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
foreach($_POST['nome']作为$nome){
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$rimanenti_ins=$u POST['rimanenti'];
//$sql=“UPDATE rimanenti_mese SET rimanenti='$rimanenti_ins',其中Nome='$Nome'和Cognome='$Cognome';
$sql=“插入rimanenti_mese(Nome、Cognome、mese、Anno、Benzina、Pezzi、rimanenti)
值(“$nome”、“$cognome”、“09”、“2015”、“xxxx”、“fdfdfd”和“$rimanenti_ins”)
";
//将->查询放入foreach循环
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“错误:”.$sql。
“
”$conn->错误;
}
}
$conn->close();
您在foreach完成后调用$conn->query($sql)
,这意味着在$sql
中只存储foreach循环中的最后一个值
试试这个:
// Create connection
$conn = new mysqli( $servername, $username, $password, $dbname );
// Check connection
if ( $conn->connect_error) {
die("Connection failed: ".$conn -> connect_error);
}
foreach ( $_POST['nome'] as $nome ) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
//$sql = "UPDATE rimanenti_mese SET Rimanenti='$rimanenti_ins' WHERE Nome='$nome' AND Cognome = '$cognome'";
$sql = "INSERT INTO rimanenti_mese (Nome, Cognome, Mese, Anno, Benzina, Pezzi, Rimanenti)
VALUES('$nome', '$cognome', '09', '2015', 'xxxx', 'fdfdfd', '$rimanenti_ins')
";
//put your ->query into the foreach loop
if ($conn -> query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: ".$sql.
"<br>".$conn -> error;
}
}
$conn -> close();
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
foreach($_POST['nome']作为$nome){
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$rimanenti_ins=$u POST['rimanenti'];
//$sql=“UPDATE rimanenti_mese SET rimanenti='$rimanenti_ins',其中Nome='$Nome'和Cognome='$Cognome';
$sql=“插入rimanenti_mese(Nome、Cognome、mese、Anno、Benzina、Pezzi、rimanenti)
值(“$nome”、“$cognome”、“09”、“2015”、“xxxx”、“fdfdfd”和“$rimanenti_ins”)
";
//将->查询放入foreach循环
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“错误:”.$sql。
“
”$conn->错误;
}
}
$conn->close();
您在foreach完成后调用$conn->query($sql)
,这意味着在$sql
中只存储foreach循环中的最后一个值
试试这个:
// Create connection
$conn = new mysqli( $servername, $username, $password, $dbname );
// Check connection
if ( $conn->connect_error) {
die("Connection failed: ".$conn -> connect_error);
}
foreach ( $_POST['nome'] as $nome ) {
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$rimanenti_ins = $_POST['rimanenti'];
//$sql = "UPDATE rimanenti_mese SET Rimanenti='$rimanenti_ins' WHERE Nome='$nome' AND Cognome = '$cognome'";
$sql = "INSERT INTO rimanenti_mese (Nome, Cognome, Mese, Anno, Benzina, Pezzi, Rimanenti)
VALUES('$nome', '$cognome', '09', '2015', 'xxxx', 'fdfdfd', '$rimanenti_ins')
";
//put your ->query into the foreach loop
if ($conn -> query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: ".$sql.
"<br>".$conn -> error;
}
}
$conn -> close();
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
foreach($_POST['nome']作为$nome){
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$rimanenti_ins=$u POST['rimanenti'];
//$sql=“UPDATE rimanenti_mese SET rimanenti='$rimanenti_ins',其中Nome='$Nome'和Cognome='$Cognome';
$sql=“插入rimanenti_mese(Nome、Cognome、mese、Anno、Benzina、Pezzi、rimanenti)
值(“$nome”、“$cognome”、“09”、“2015”、“xxxx”、“fdfdfd”和“$rimanenti_ins”)
";
//放