gpt4 book ai didi

php - 使用 PHP 无法正确执行 INSERT MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 21:40:41 25 4
gpt4 key购买 nike

我目前正在为我的学校制作一个毕业网站,毕业生应该在其中提交评论并提交投票。

数据库有 4 个表,一张用于学生信息,一张用于问题,一张用于评论,其中有一个外键引用学生的 snum,一张用于民意调查(称为调查),其中有 2 个外键,一个再次引用 snum以及一个引用问题 ID 的问题。

这是我的学长留给我的代码。它应该做的是在评论和调查表中创建空白行以便稍后更新。然而,它实际上所做的是将评论表中的所有内容发送两次(因此,如果有 300 名学生,我最终会在评论表中得到 600 行,在调查表中得到 0 行)

我对 MySQL 和 PHP 还很陌生,大约一个月前才学会。如果有人可以提供帮助或提出更好的方法来解决此问题,我们将不胜感激。

$sql_query = "SELECT snum FROM students;";
$result = mysqli_query($link,$sql_query);
while ($list = mysqli_fetch_array($result)) {
$snum[] = $list['snum'];
}

$sql_query = "SELECT qid FROM questions WHERE want = 1;";
$result = mysqli_query($link,$sql_query);
while ($question_list = mysqli_fetch_array($result)) {
$qid[] = $list['qid'];
}

for ($i = 0; $i < count($snum); $i++)
{
$sql_query = "INSERT INTO comments (snum, comment) VALUES ('{$snum[$i]}' , NULL);";
$result = mysqli_query($link,$sql_query);
for ($a = 0; $a < count($qid); $a++) {
$sql_query = "INSERT INTO survey (snum, qid, male, female) VALUES ('{$snum[$i]}', {$qid[$a]}, NULL, NULL);";
$result = mysqli_query($link,$sql_query);
}
}

更新1:我想我找到了问题所在。当我尝试输出 $qid[$a] 时,我得到一个空值。表中,qid 是一个smallint unsigned,不为null,auto_increment,并且是主键。

最佳答案

试试这个代码

<?php
$sql_query = "SELECT snum FROM students";
$result = mysql_query($link,$sql_query);
while ($list = mysql_fetch_array($result)) {
$snum[] = $list['snum'];
}

$sql_query = "SELECT qid FROM questions WHERE want = '1' ";
$result = mysql_query($link,$sql_query);
while ($question_list = mysql_fetch_array($result)) {
$qid[] = $list['qid'];
}



for ($i = 0; $i < count($snum); $i++){

$sql_query = "INSERT INTO comments (snum, comment) VALUES ('".$snum[$i]."' , '');";
$result = mysql_query($link,$sql_query);

for ($a = 0; $a < count($qid); $a++) {
$sql_query = "INSERT INTO survey (snum, qid, male, female) VALUES ('".$snum[$i]."','".$qid[$a]."', '', '');";
$result = mysql_query($link,$sql_query);
}

}
?>

关于php - 使用 PHP 无法正确执行 INSERT MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34554140/

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