【发布时间】:2020-12-14 12:31:46
【问题描述】:
我只是想使用 MySQL 数据库将数组存储在多行中。不幸的是,它只保存最后一个值。
<?php
session_start();
require_once "../phpquery/dbconnection.php";
$testings = $_POST["testings"];
$presid = $_POST["presid"];
$lab_status = "0";
$patient_status = "1";
$update_status = "0";
foreach( $testings as $testing) {
if($stmt = mysqli_prepare($con,"INSERT INTO testing_schedule
(p_id,pres_id,testing_perform,submit_date,
lab_status,patient_status,update_status)
VALUES ( ?,?, ?, ?, ?,?,?)")){
$cur_date = date('Y-m-d');
mysqli_stmt_bind_param($stmt, "sssssss",
$_SESSION['p_id'],
$presid ,
$testing,
$cur_date,
$lab_status,
$patient_status,
$update_status);
echo "Successfully saved";
} else{
echo "ERROR: Could not prepare query: $con. " . mysqli_error($con);
}
}
?>
【问题讨论】:
-
打印
$testings看看它是否真的是一个数组 -
当然。这是一个
array -
虽然没有以最佳方式编码,但如果
$testings是一个多次出现的数组,则该代码应该创建多行。所以请检查/证明$testings实际上是一个不止一次出现的数组 -
在 foreach 循环中包含这一行
echo "Successfully saved";是一种误导 -
确定,我已经查过了