我有一个表格,其中包含 4 个答案字段,名称为 a1、a2、a3、a4。 其中一些可能被标记为正确。我在正确答案后附加了“-correct”。
无论如何,现在用户在选择答案时,我想与任何正确答案进行比较。
我只熟悉 %LIKE% 和 WHERE 函数。我正在尝试使用 MATCH AGAINST。 任何帮助将不胜感激。
迈克
PHP:
public function checkAnswer($id, $answer){
try{
$_id = $this->db->mysqli->real_escape_string($id);
$_answer = $this->db->mysqli->real_escape_string($answer);
$viewer_answered = $_answer."-correct";
$sql = "SELECT * FROM myTbl WHERE match(a1,a2,a3,a4) against('+ $viewer_answered' IN BOOLEAN MODE) AND id='{$_id}'";
$result = $this->db->mysqli->query($sql);
if(!$result)
{
throw new Exception("Query failed: " . $sql . " - " . $this->db->mysqli->error);
}else{
// I dont know how to check the result of the match! any help please
}
} catch(Exception $e){
echo("Message: " . $e->getMessage());
}
}
最佳答案
您的 sql 字符串格式不正确:
$sql = "SELECT * FROM myTbl WHERE match(a1,a2,a3,a4) against('".$viewer_answered."' IN BOOLEAN MODE) AND id='{$_id}'";
关于php - 检查所有列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321938/