@s-developer

Как организовать поиск по базе, находящейся на SQL Сервере?

Здравствуйте, уважаемые спецы и профи, а так же кто зашел мимолетом. Итак к делу:
Была у меня БД на MySQL, организовал я на ней телефонный справочник пользователей. все работало. Теперь мы переехали на SQL Server и тут началось что-то интересное, код не хочет работать, я так понимаю синтаксис немного разный при работе с MySQL и SQL. Не могли бы подсказать в чем проблема?
Выдает ошибку следующую:
Fatal error: Call to a member function query() on null in C:\OSPanel\domains\сой_домен\sql\tel.php on line 165
Полный листинг кода:
<?php 
	require 'sql.php';
?>

										<?php 
										echo '<br>
										<table class="table table-bordered table-striped mb-none dataTable no-footer" id="datatable-default">';
										echo '<tr>
										<td width="10px"><span><b>Табельный №</span></td>
										<td width="160px"><span><b>Логин</span></td>
										<td width="160px"><span><b>Ф.И.О</span></td>
										<td width="160px"><span><b>Должность</b></span></td>
										<td width="160px"><span><b>Права</b></span></td>
										</tr>';

										if(isset($_POST['search'])){
											$search = trim($_POST['find']);
		СТРОКА 165---> $get_useres = $conn->query("SELECT * FROM `BI_SOTR_2` WHERE `LOGIN` LIKE '%$search%' OR `FIO` LIKE '%$search%'");
										} else {
											$get_useres = $conn->query("SELECT * FROM `BI_SOTR_2`");
										}
										while ($get_users_db = $get_useres->fetch()) {
											$list_id_user = $get_users_db['tabnom'];
											$list_login_user = $get_users_db['login'];
											$list_name_user = $get_users_db['fio'];
											$list_doljnost_user = $get_users_db['doljnost'];
											$list_status_user = $get_users_db['status'];

											echo '<tr>
											<td>' .$list_id_user. '</td>
											<td>' .$list_login_user. '</td>
											<td>' .$list_name_user. '</td>
											<td>' .$list_doljnost_user. '</td>
											<td>' .$list_status_user. '</td>
											</tr>';
										}
										?>

Код подключения к БД SQL сервера (2014)
<?php
$serverName = "АДРЕС_МОЕГО_СЕРВЕРА"; //если instance и port стандартные, то можно не указывать
$connectionInfo = array("UID" => "ЛОГИН", "PWD" => "пароль от БД", "Database"=>"Имя_БД");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
/* Close the connection. */
sqlsrv_close( $conn);
?>

Подключение проверял, работает. Соединяется.
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Теперь мы переехали на SQL Server
MS-SQL?

код не хочет работать, я так понимаю синтаксис немного разный при работе с MySQL и SQL. Не могли бы подсказать в чем проблема?
(ha-ha, classic %)) Тот самый гипотетический случай из примеров с уровнем абстракций - а вдруг мы сменим дб? Теперь вам вообще то нужно сменить драйвер подключения, как минимум, ну и возможно не все запросы будут работать с ожидаемым результатом. Готовьтесь к интересным приключениям, удачи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
l3ftoverz
@l3ftoverz Куратор тега PHP
Люблю Финский металкор
Теперь мы переехали на SQL Server

- На какой?

синтаксис немного разный при работе с MySQL и SQL
Какой синтаксис?

Ты используешь PDO, но у тебя в запрос вставляются значения прямо из POST, у тебя всё хорошо?
Выдает ошибку следующую

Эта ошибка говорит о том, что $conn - это null и вызывать от неё никакой query нельзя, это значит:

1. Соединения с БД не произошло.
2. Где-то просрал контекст переменной.
UPD. 3. sqlsrv_close($conn);1-82.jpg
Ответ написан
@s-developer Автор вопроса
Если Вы сюда поржать пришли, идите мимо. Кто - нибудь может без издевок реально помочь?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы