将MySQL列值循环为变量

时间:2013-06-02 22:56:40

标签: php mysql

以下代码旨在使用levenshtein()将用户输入的单词与MySQL表的列中的值进行比较:

    $searched=$_POST['searched'];

$sql = "SELECT * FROM `word_list`;";

$result = mysqli_query($conn,$sql);

while($row=mysqli_fetch_assoc($result))
    $title = $row['word'];
    $sound = levenshtein($searched, $title);
    if ($sound < 4) {
    echo $title;
}

?>

我的困惑源于实际循环表的“word”列的值的机制,作为levenshtein函数的第二个字符串的变量。

最终,我想将该列中的值循环到$ title变量中,并回显产生levenshtein距离小于4的值,但我似乎无法返回任何输出。

1 个答案:

答案 0 :(得分:1)

在您的示例中使用while循环是正确的。但您混合了mysqlmysqli扩展程序:

$result = mysqli_query($conn,$sql);
...
while($row=mysql_fetch_assoc($result))

您必须改为使用mysqli_fetch_assoc()


此外,您在while循环结束时错过了结束}。完整的示例应如下所示:

$searched = $_POST['searched'];
$sql = "SELECT * FROM `word_list`;";
$result = mysqli_query($conn, $sql);

while($row = mysqli_fetch_assoc($result))
    $title = $row['word'];
    $sound = levenshtein($searched, $title);
    if ($sound < 4) {
        echo $title;
    }
}