Поэтому, когда я попытался получить одну случайную строку в базе данных и сохранить ее в переменных, мне кажется, что я не могу повторно использовать эти переменные для моего следующего 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
- это идентификатор этой строки $word
- это данные этой строки.
Тогда я получаюпользовательский ввод и проверка базы данных, если есть строка, имеют одинаковый идентификатор с $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";
}
}
Когда я пытался получить слово из базы данных непосредственно от пользователявход, который имеет только одно условие, код работает отлично, но когда я добавляю условие id, он больше не работает.Любая идея, где я все испортил?
Редактировать заметку: Я только что попытался повторить $pos
и $word
, и это прекрасно работает, но каким-то образом, когда я попытался поместить $pos
varibale в sql для запроса, этоне работает.