我试图从一个大文本框中读取问题并使用explode来分解问题和答案,然后插入两个表格
数据
Q是___ W. |(a)(0)|(b)(0)|(c)(1)|(d)(0)|(e)(0)|(f)(0 )|
W是_________ Q和Z. |(a)(0)|(b)(0)|(c)(0)|(d)(1)|(e)(0)|
if(isset($_POST["submit"]))
{
$Code = mysqli_real_escape_string($conn,$_POST['qrc']);
$linesOfData = explode('\n',$Code);
foreach($linesOfData as $lineOfData) {
$arrayOfValues = explode('|',$lineOfData);
foreach($arrayOfValues as $value) {
$q = !isset($value[0]) ? trim($value[0]) : null; // question
$a = !isset($value[1]) ? trim($value[1]) : null; //answer
$b = !isset($value[1]) ? trim($value[1]) : null; // right answer
echo $q;
//$query = "INSERT INTO question (question) VALUES ('$q')";
//$mysqli->query($query);
//$query = "INSERT INTO answer(question_id,answer,is_right_option) values($mysqli->insert_id,'$a',$b')";
//$mysqli->query($query);
}
}
}
在执行查询之前..我试图回显输出但没有显示任何内容。 我究竟做错了什么?如何解决?
表名:问题
╔════╤═════════════════════════════╗
║ id │ question ║
╠════╪═════════════════════════════╣
║ 1 │ The Q is ___ W. ║
╟────┼─────────────────────────────╢
║ 2 │ The W is _________ Q and Z. ║
╚════╧═════════════════════════════╝
表名:答案
╔════╤═════════════╤════════╤═════════════════╗
║ id │ question_id │ answer │ is_right_option ║
╠════╪═════════════╪════════╪═════════════════╣
║ 1 │ 1 │ (a) │ 0 ║
╟────┼─────────────┼────────┼─────────────────╢
║ 2 │ 1 │ (b) │ 0 ║
╟────┼─────────────┼────────┼─────────────────╢
║ 3 │ 1 │ (c) │ 1 ║
╟────┼─────────────┼────────┼─────────────────╢
║ 4 │ 1 │ (d) │ 0 ║
╚════╧═════════════╧════════╧═════════════════╝
答案 0 :(得分:0)
你的逻辑错了。
$q = !isset($value[0]) ? trim($value[0]) : null; // question
这意味着如果未设置$value[0]
,则不设置,因此不存在,然后修剪该值。否则,这意味着它已设置,将其设置为null
将其更改为:
$q = isset($value[0]) ? trim($value[0]) : null; // question