gpt4 book ai didi

php - 对于每个循环 PHP,插入到 SQL 中而不是插入数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:51 25 4
gpt4 key购买 nike

$student_info = array(
'student_number'=>$_POST['student_number'],
'student_first_name'=>$_POST['student_first_name'],
'student_middle_name'=>$_POST['student_middle_name'],
'student_last_name'=>$_POST['student_last_name']);

foreach($student_info as $table_row=>$information){
$sql = "INSERT INTO student_info_db (`$table_row`) VALUES(`$information`)";

echo $table_row . " " . $information;
}

我不太确定为什么它不在数据库中插入任何数据。echo $table_row $information 只是为了确定它是否获得了值并且成功了,但仍然没有插入任何数据。问题是,哪里出了问题?我很确定我在执行正确的 sql .. 或者我不是?

最佳答案

看来你的sql查询字符串不正确。您正在为每个元素运行查询!每次都会向每一列插入数据!您的表中将有 4 个条目对应一个学生信息!

您也没有在循环中运行查询。

您应该在循环内创建查询,然后在循环后执行查询

您需要先从数组中创建查询字符串。

首先这样查询:

像这样尝试:

$student_info = array(
'student_number'=>mysql_real_escape_string($_POST['student_number']),
'student_first_name'=>mysql_real_escape_string($_POST['student_first_name']),
'student_middle_name'=>mysql_real_escape_string($_POST['student_middle_name']),
'student_last_name'=>mysql_real_escape_string($_POST['student_last_name']));

foreach($student_info as $table_row=>$information){
$cols .= "`".$table_row."` ,";
$vals .= "'".$information . "' ,";
}
$cols = rtrim($cols,",");

$vals = rtrim($vals,",");

$sql = "INSERT INTO student_info_db (".$cols . ") VALUES(".$vals .")";

带有样本数据的现场演示:https://eval.in/104428

然后你需要运行这个$sql查询

像这样:

if(mysqli_query($con, $sql)
echo "successfully inserted";
else
echo "something is wrong!";

关于php - 对于每个循环 PHP,插入到 SQL 中而不是插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com