所以,当我尝试在数据库中获取一个随机行并将其存储到变量中时,似乎无法在下一个sql查询中重用这些变量,因为我在这些行中进行了尝试。
首先,我在数据库中获得一个随机行,并将其存储到变量中以供以后使用
$mysqli = new mysqli($hostname, $username, $password, $dbname, $port) or die(mysqli_error($mysqli));
$sqlcompare = "SELECT * FROM questions order by rand() limit 1";
$result = mysqli_query($mysqli, $sqlcompare);
$row = mysqli_fetch_row($result);
$pos = $row[0];
$word = $row[1];
``` `$pos` 是那一行的id `$word` 是该行的数据。
然后我获取用户输入,并检查数据库中是否有两个具有相同id的行 `$pos` 输入的字和那一行是一样的
$input = $mysqli->real_escape_string($_POST['input']);
$sqlcheck = "SELECT * FROM questions WHERE word = $input AND id = $pos";
$sqlresult = mysqli_query($mysqli, $sqlcheck);
if (isset($_POST['compare'])) {
if (mysqli_num_rows($sqlresult)>=1) {
echo "Found that input";
} else {
echo "Not found";
}
}
当我试图直接从用户输入中检索word时(只有一个条件),代码工作得很好,但是当我添加id条件时,它就不再工作了。你知道我把事情搞砸了吗?
编辑注:我只是想回音 `$pos` 以及 `$word` 它工作得很好,但是当我试着 `$pos` 变为sql查询,它不工作。
1条答案
按热度按时间lyfkaqu11#
用like代替(=)。
mysql类文档