Предупреждение: mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, boolean задан в

борясь с моим назначением веб-дизайна. Я слежу за учебным пособием, чтобы добавить функцию поиска для своего сайта, но я получаю следующую ошибку:

Предупреждение: mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, boolean задан в /search.php в строке 31

строка 31 является (или была)

<pre>if(mysqli_num_rows($results) >= 1)</pre> 

Это была оригинальная ошибка. в соответствии с инструкциями в комментариях, я с тех пор пересмотрел код:

 <pre> <?php //capture search term and remove spaces at its both ends if the is any $searchTerm = trim($_GET['keyword']); //check whether the name parsed is empty if($searchTerm == "") { echo "Enter the name/brand of what you're looking for."; exit(); } //database connection info $host = "localhost"; $db_name = "sookehhh_shopsy_db"; $username = "sookehhh_shopsy"; $password = "xxxx"; //connecting to server and creating link to database $link = mysqli_connect($host, $username, $password, $db_name) or die('Could not connect: ' . mysqli_connect_error()); //MYSQL search statement $query = "SELECT * FROM sookehhh_shopsy_db WHERE name LIKE '%" . mysqli_real_escape_string($link, $searchTerm) . "%'"; // original query$query = "SELECT * FROM sookehhh_shopsy_db WHERE name LIKE '%$searchTerm%'"; $results = mysqli_query($link, $query); //added suggestion below - not sure if correct place? if (!$result) { die(mysqli_error($link)); } /* check whethere there were matching records in the table by counting the number of results returned */ if(mysqli_num_rows($results) >= 1) { $output = ""; while($row = mysqli_fetch_array($results)) { $output .= "Product Name: " . $row['name'] . "<br />"; $output .= "Price: " . $row['price'] . "<br />"; } echo $output; } else echo "There was no matching record for that item " . $searchTerm; ?> </pre> 

внесли необходимые изменения и обновили еще раз –

теперь единственное сообщение об ошибке, которое я получаю здесь, – «Таблица» sookehhh_shopsy_db.sookehhh_shopsy_db «не существует»

Я предполагаю, что мне нужно изменить имя пользователя, возможно, потому, что это слишком похоже?

Anywho, спасибо за вашу помощь до сих пор, и я извиняюсь за свое полное невежество.

Я пытался научить себя, но, к сожалению, время – это роскошь, которой я просто не располагаю в данный момент.

Проблема заключается в том, что ваш запрос возвратил false значение. В вашем запросе была ошибка. После вашего запроса вы можете сделать следующее:

 if (!$result) { die(mysqli_error($link)); } 

Или вы можете объединить его с вашим запросом:

 $results = mysqli_query($link, $query) or die(mysqli_error($link)); 

Это выведет вашу ошибку.

Также … вам нужно санировать ваш вход. Вы не можете просто ввести пользовательский ввод и поместить его в запрос. Попробуй это:

 $query = "SELECT * FROM shopsy_db WHERE name LIKE '%" . mysqli_real_escape_string($link, $searchTerm) . "%'"; 

В ответ на: Таблица 'sookehhh_shopsy_db.sookehhh_shopsy_db' не существует

Вы уверены, что имя таблицы sookehhh_shopsy_db? может быть, это действительно как пользователи или что-то в этом роде.