2013-06-02 1 views
0

Следующий код предназначено для использования Левенштейн() для сравнения пользовательского ввода слова к значениям в столбце таблицы MySQL:значение петли 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» таблицы как переменной для второй строки int he levenshtein.

В конечном счете, я хотел бы объединить значения из этого столбца в переменную $ title и повторить значения, которые дают расстояние levenshtein меньше 4, но я не могу возвращать какой-либо результат.

+0

Я не понимаю ваш вопрос. 'while' или' for' на самом деле не имеет значения. Используйте 'break;', если вы хотите преждевременно выйти из него. – Kermit

ответ

1

Использование нулевого цикла while в вашем примере. Но вы смешивания mysql и расширение mysqli:

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

Вы должны будете использовать mysqli_fetch_assoc() вместо этого.


Также вы пропускаете закрытие } в конце цикла. Полный пример должен выглядеть следующим образом:

$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; 
    } 
} 
+0

Спасибо; это немного прояснило ситуацию, но теперь я получаю 500 ошибок, поэтому, по крайней мере, теперь у меня есть представление о том, куда идти. –

+0

добро пожаловать. 500 должны иметь другие причины – hek2mgl

Смежные вопросы