Php 将输入数据与从数据库查询的数据进行比较

Php 将输入数据与从数据库查询的数据进行比较,php,mysql,mysqli,Php,Mysql,Mysqli,所以,当我尝试在数据库中获取一个随机行并将其存储到变量中时,似乎无法在下一个sql查询中重用这些变量,因为我在这些行中进行了尝试 首先,我在数据库中获得一个随机行,并将其存储到变量中供以后使用 $mysqli = new mysqli($hostname, $username, $password, $dbname, $port) or die(mysqli_error($mysqli)); $sqlcompare = "SELECT * FROM questions order by rand

所以,当我尝试在数据库中获取一个随机行并将其存储到变量中时,似乎无法在下一个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
是该行的数据

然后,我获取用户输入并检查数据库中是否有一行都具有与
$pos
相同的id,并且输入的单词与该行相同

$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查询时,它不起作用。

使用like代替(=)

使用like代替(=)

$input = $mysqli->real_escape_string($_POST['input']);  
$sqlcheck = "SELECT * FROM questions WHERE word LIKE '%".$input."%' AND id = $pos";
$sqlresult = mysqli_query($mysqli, $sqlcheck);