这个问题与以下内容完全相同:
我有以下查询:
$sqlChoices = "SELECT choice from questions as Q
INNER JOIN choice as ch on Q.question_id = ch.question_id
where Q.module_id= $module and ch.question_id=$question['question_id']";
当ch.question_id=
等于任何int值时,查询工作正常。但是,一旦我做ch.question_id=$question['question_id']";
我得到这个错误:
解析错误:语法错误,意外''(T_ENCAPSED_AND_WHITESPACE),期待' - '或标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)在第9行的C:\ xampp \ htdocs \ Project \ quiz.php中
我的想法是,当我从question
数组访问question_id时,查询应该有效。
<?php
require_once 'includes/config.php';
include 'main.php';
$numberQuestions = $_GET['numberQuestions'];
$module = $_GET['module'];
$sqlQuestion = "SELECT * FROM questions WHERE module_id = $module";
$questionResult = mysqli_query($connect, $sqlQuestion);
$question = mysqli_fetch_assoc($questionResult);
$sqlChoices = "SELECT choice from questions as Q INNER JOIN choice as ch on Q.question_id = ch.question_id where Q.module_id= $module and ch.question_id=14";
$choicesResult = mysqli_query($connect, $sqlChoices);
if (!$choicesResult) {
printf("Error: %s\n", mysqli_error($connect));
exit();
}
?>
这些是数组中的值:
Array ( [question_id] => 11 [module_id] => 2 [question] => A volt can be defined as? )
切换报价
$sqlChoices = 'SELECT choice from questions as Q
INNER JOIN choice as ch on Q.question_id = ch.question_id
where Q.module_id='. $module .' and ch.question_id='.$question["question_id"];