2015-11-20 5 views
2

я предполагаю, что вопрос является дубликатом, но я не понимаю Будет НЕПРАВИЛЬНО с моим Mysqli принестиПопытка получить свойство необъектных

Ошибка я получаю, когда я ничего искать не в базе данных как некоторый мир не в базе данных, например, когда я искать футбола я получаю сообща ошибку, но когда я искать плоскости его возврат результатов (плоскости находится в базе данных)

здесь search.php

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "db"; 

$conn = new mysqli($servername, $username, $password, $dbname); 
$searchTerm = $conn->real_escape_string($_POST['term']); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
else{ 
    $sql = "SELECT user_st,username FROM users WHERE user_st LIKE '%'".$searchTerm."'%'"; 
    $result = $conn->query($sql); 
    $count = $result->num_rows; 
    if($count){ 
     echo "data found</br></br>"; 
     while ($info = $result->fetch_assoc()) { 
     echo $info['user_st']; 
     echo "</br>"; 
     } 
    }else{ 
    echo "No info Founded"; 
    } 
} 

$conn->close(); 

ГЗС Ошибка Попытка получить свойство не-объекта в C: \ WAMP \ WWW \ mysqli_login \ search.php на линии 21 error msg какая доза это значит ???

+0

Попробуйте изменить 'если ($ COUNT)' в 'если ($ кол > 0). – gmiley

+0

Вы должны проверить результат вызова 'query'; поиск в Интернете для «mysqli_query example» ... –

+0

@gmiley, .. та же проблема, если я набираю ** футбол ** его возвращает тот же ERORR :( – MrB

ответ

1

Проблема в том, что вы прерываете свой запрос с помощью дополнительных одинарных кавычек.

Вы должны изменить следующий код

'%'".$searchTerm."'%' 

к этому:

'%".$searchTerm."%' 
^   ^
dropped the single quotes here (^) 

Может mysqli_error() иногда бывает полезно признать этот тип ошибок.

2

Вытащил из моего комментария и как бесплатный ответ на другой дается swidmann годов:

Если вы ищете конкретные слова, не используйте оператор LIKE, но простой WHERE col='x' затем использовать num_rows(), как вам сейчас будет достаточно.

Если LIKE не требуется, не используйте его. LIKE для foot, footing, afoot, bigfoot и т. Д. При прохождении foot в запросе.

  • Это может дать вам больше результатов, чем вы действительно хотите получить, в зависимости от использования и размещения шаблона %.

Обратитесь следующее на LIKE оператора:

Другие ссылки:


HTML ярый:

  • </br>, что следует читать, как <br/> или <br>

Если посмотреть исходный код HTML (в Firefox, например), вы увидите следующее в красный цвет:

Конец тега "br".

Характер / - это только что; тег "end".

I.e .: <p>Text</p> с открывающимися и закрывающимися «p» тегами.

Лучше иметь надлежащий HTML и избегать любых уведомлений.

W3 валидатор (HTML шашка) https://validator.w3.org/nu/#textarea

вернется:

Error: End tag br. 

From line 11, column 1; to line 11, column 5 

llo world↩</br>↩Hi↩</ 

При использовании:

<!doctype html> 

<head> 
<title>test</title> 
</head> 

<body> 

<p> 
Hello world 
</br> 
Hi 
</p> 

</body> 

</html> 
+1

хорошая точка с подобными :) – swidmann

+1

@swidmann Кажется, что OP хотел использовать, как было сказано ранее в комментариях, где OP хочет найти точный термин. Он по-прежнему будет работать, но принесет больше результатов, чем хотелось бы. * Приветствия * –