我有一个每日问题测验页面,我有两个具有以下名称的数据库表:
1)qbank 2)users_log
现在,一旦用户提交了答案,如果用户正确回答了问题,则会将用户带到grade.php。我的问题是以下代码:
$sql = ("SELECT * FROM users_log WHERE username = '$username_wanted'");
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$myuser = $row["username"];
echo $myuser;
echo "It found the user";
$mycolumn = $row_y[$_POST['question-id']];
echo $mycolumn;
}
}
我想要做的是从“users_log”表中选择COLUMN,其中COLUMN名称等于“qbank”表中的question-id,用户在上一页提交了该表。
我们只是说我定义一个这样的变量:
$questionID = "001"
使用该变量获取的正确方法是什么:
$mycolumn = $row_y[$questionID];
谢谢, oliver_foxx
答案 0 :(得分:0)
你必须构建一个这样的查询(如果我理解正确的话)
$sql = "SELECT username, ".$_POST['question-id']." FROM users_log WHERE username = '".$username_wanted."'";
当然这里有一些问题,但超出了这个问题的范围。你可能想研究这些:
1)您容易受到sql injection
的攻击2)我不太相信你的sql结构很好。好像每个问题都有一栏;听起来非常denormalized