Поиск по базе данных на PHP

182
07 мая 2018, 22:54

Помогите, пожалуйста. Не получается осуществить поиск по базе данных.

<?php 
include "connect.php"; 
 
?> 
 
  <?php 
 
$search_slovo = $_POST['q']; 
if(isset($search_slovo)){ 
if(empty($search_slovo)) {exit ("Вы не ввели данные");}} 
 
echo " Вы искали: $search_slovo"; 
$query= mysqli_query($link,"SELECT * FROM Кабинеты WHERE Номер_аудитории = ['$search_slovo']"); //строка 14 
 
$result= mysqli_num_rows($query); //строка 16 
if ($result == null) 
{ 
echo "Sorry, I couldn’t find any user that matches your query ($search_slovo)"; 
exit;  
} 
else if ($result == 1) 
{ 
echo "I’ve found <b>1</b> match!<br>"; 
} 
else { 
echo "I’ve found <b>$result</b> matches! <br>"; 
} 
 
while ($row= mysqli_fetch_array($query)) 
{ 
$nomer = $row["Номер_аудитории"]; 
$name = $row["Название_аудитории"]; 
} 
 
echo "The middle name of the user is: $nomer.<br>"; 
echo "The last name of the user is: $name. <br>"; 
?>

Ошибки:

Warning: mysqli_query(): Couldn't fetch mysqli in W:\domains\localhost\www\poisk.php on line 14

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in W:\domains\localhost\www\poisk.php on line 16

Answer 1

У Вас ошибка из за того что нужно передать параметр подключения в функцию mysqli_query а Вы передали только SQL запрос.

Посмотрите документацию.

Ещё, Ваш код требует много правок.

Answer 2

Используйте оператор поиска LIKE

SELECT * FROM Customers WHERE CustomerName LIKE '%or%';
Answer 3

На 14й строке mysqli_query( $DB, "ВАШ ЗАПРОС"); Перед вашим запросом добавте переменную которую присваивали к подключению к бд

READ ALSO
Получить id с помощью username

Получить id с помощью username

Есть таблица tb_user со столбцами user_id и usernameВ массиве $usernames[] храниться username некоторых пользователей

213
Введение данных в json файл

Введение данных в json файл

У меня есть вопрос по введению данных в json файлВообщем, мне нужно, что бы json файл хранил в себе часть кода, ид видеозаписи, ид пользователя,...

211
Роутинг в Laravel

Роутинг в Laravel

Начал познавать данный фреймворкВозник вопрос

198
Получение чистых цифр без запятых и точек без букв Е

Получение чистых цифр без запятых и точек без букв Е

Скажите пожалуйста, как избежать вот такого ответа типа "9999999998E+19" чтоб было тупо цифры без точек букв Е и +19

160