2016-02-07 9 views
0

Итак, у меня есть сайт, и на веб-сайте я получил поле ввода, где я могу найти человека, а затем получить информацию об этом парне. Человек, которого я ищу, уже находится в базе данных, поэтому поисковая панель похожа на место, где вы можете получить данные для конкретного человека из базы данных. Но, когда я поставил имя человека в поле:WHERE CLAUSE 0 результат

<input type="text" class="pure-input-rounded" id="form"> 
<button type="submit" class="pure-button" name="criteria">Search</button> 

Я получаю 0 результат, а код MySQL SELECT, является:

$criteria = $_POST['criteria']; 
$sql = "SELECT Alder,Alias FROM motspiller WHERE Name = '".$criteria."'"; 

(Name это имя столбца, и это прописано правильный)

Имя человека, которого я пишу в поисковой панели, на 100% равно имени человека в базе данных.

Но когда я меняю критерии на конкретное имя из базы данных, результат будет отображаться на веб-сайте.

Так что мне интересно, в чем проблема? Почему я не могу поставить имя в поле ввода и получить информацию, вместо этого я должен идти в мой PHP документ и положить в названиях я хочу ......

+1

пожалуйста, добавить что-то вроде mysqli_escape_string до $ критериев, чтобы избежать SQL Injection уязвимости –

+0

вы пробовали изменения в нижний регистр, как $ критериев = strtolower (критерии $); а затем 'WHERE ((LOWER (' name') LIKE '% $ criteria%') '? –

+0

проверить наличие ошибок. –

ответ

0

Вместо

<input type="text" class="pure-input-rounded" id="form"> 
<button type="submit" class="pure-button" name="criteria">Search</button> 

сделать это

<input type="text" class="pure-input-rounded" name="criteria" id="form"> 
<button type="submit" class="pure-button" >Search</button>