Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не получается составить запрос к БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Moby
Отправлено: 20 Июня, 2020 - 16:29:32
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Март 2019  


Помог: 0 раз(а)




Добрый день. Я получаю на сервере параметр и мне нужно сравнить его с БД, и если там нет такого совпадения, то добавить строку в таблицу. В таблице users есть 4 столбца
u_id u_name created updated

PHP:
скопировать код в буфер обмена
  1.  
  2. $servername = "";
  3. $username = "";
  4. $password = "";
  5. $db = "";
  6. $conn = new mysqli($servername, $username, $password, $db);
  7.  
  8. if ($conn->connect_error) {
  9.   die("Connection failed: " . $conn->connect_error);
  10. }
  11.  
  12. $user_n = $_POST[name];
  13.  
  14. $sql = "SELECT * FROM `users` WHERE u_name like '%$user_n%'";
  15. $result = mysqli_query($sql);
  16.  
  17. print($result);
  18.  
  19. mysqli_close($conn);
  20.  
  21.  


и еще вопрос вдогонку, как извлечь параметр 123 из массива вида {list[1][data]: 123}
методом $_POST ? Т.е. из массива {user[id]:900} получается получить так $user_id = $_POST[user][id] , а иначе не получается

(Отредактировано автором: 20 Июня, 2020 - 19:24:55)

 
 Top
Vladimir Kheifets
Отправлено: 20 Июня, 2020 - 20:53:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Moby пишет:
Добрый день. Я получаю на сервере параметр и мне нужно сравнить его с БД, и если там нет такого совпадения, то добавить строку в таблицу. В таблице users есть 4 столбца
u_id u_name created updated

PHP:
скопировать код в буфер обмена
  1.  
  2. $servername = "";
  3. $username = "";
  4. $password = "";
  5. $db = "";
  6. $conn = new mysqli($servername, $username, $password, $db);
  7.  
  8. if ($conn->connect_error) {
  9.   die("Connection failed: " . $conn->connect_error);
  10. }
  11.  
  12. $user_n = $_POST[name];
  13.  
  14. $sql = "SELECT * FROM `users` WHERE u_name like '%$user_n%'";
  15. $result = mysqli_query($sql);
  16.  
  17. print($result);
  18.  
  19. mysqli_close($conn);
  20.  
  21.  


и еще вопрос вдогонку, как извлечь параметр 123 из массива вида {list[1][data]: 123}
методом $_POST ? Т.е. из массива {user[id]:900} получается получить так $user_id = $_POST[user][id] , а иначе не получается

Добрый день!
1.С PHP mysqli можно использовать два стиля программирования - процедурный или объектный.
Однако, в одном скрите не допускается их смещивать.
Ваша главная ошибка в том, что для соединения с БД Вы ипользовали объектный стиль, а далее процедурный стиль.
Чтобы было понятнее это объектная реализация
Спойлер (Отобразить)

а это процедурная
Спойлер (Отобразить)
2. $_POST это не метод, а массив данных, переданных скрипту методом POST.
Цитата:
...получается получить так $user_id = $_POST["user"]["id"] , а иначе не получается...

Может быть и так, а может и нет.
Зависит от того, как устроенна HTML форма, из которой отправляются данные.
Напишите print_r($_POST) и узнаете.
Удачи!

(Отредактировано автором: 20 Июня, 2020 - 21:30:17)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB