我正在尝试在php中的foreach循环内运行SQL查询;它不起作用。
这是我在ajax请求中发送的php文件。 注意:代码在没有准备好的语句的情况下仍然有效。
<?php
require_once('..\inc\backend-func.php');
//require_once('..\inc\connection.php');
if( $_SERVER['REQUEST_METHOD'] == 'POST'){
$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'wcsh_database';
$conn = new mysqli($host, $username, $password, $dbname);
/* Check connection */
if ($conn->connect_error) {
die("Connection to database failed: " . $conn->connect_error);
}
$i = 0;
foreach($_POST as $k ){
$id = $_POST['id'][$i];
$confDdate = $_POST['cdate'][$i];
$validUntil = $_POST['valid'][$i];
$serialNo = $_POST['serial'][$i];
$query = $conn->prepare('INSERT INTO `conference_certification` (id,conference_date,member_validity,serialNo) values (?,?,?,?)');
$query->bind_param('ssss',$id,$confDate,$validUntil,$serialNo);
$query->execute();
if ($query == false) {
die('prepare() failed: ' . htmlspecialchars($conn->error));
}
$i++;
}
}
?>
答案 0 :(得分:-1)
1。请确保数据类型为file_get_contents('php:// input')或$ _POST; 2.如果正文发布数据为数组,则迭代应为$ _POST [$ i] ['id']而不是$ _POST ['id'] [$ i]