@SARCASM74

Выборка из POST массива через запятую?

Доброй ночи, помогите пожалуйста решить одну задачу.

Есть форма с одним полем, нужно отправляя post запрос сделать выборку по указанным данным в форме. В поле вписывается логины через запятую и пробел.

Пример логинов: MarkBoSS, strike_noob, Жорка, vitXa

Пробовал вот так ничего не получается(

$arr = $_POST['logins']?? '';
$escaped_nk = array_map(function( $e ) {
  global $db;
             return mysqli_real_escape_string($db, $e);
    }, $arr );

$query = "SELECT * FROM `users` WHERE `login` IN(".implode(',  ', $escaped_nk).")";
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
$query = "SELECT * FROM `users` WHERE `login` IN(".implode(',  ', $escaped_nk).")";
echo $query;

Если посмотрите какой запрос у вас формируется, то увидите ошибку синтаксиса в запросе – строковые литералы без кавычек.

SELECT * FROM `users` WHERE `login` IN(MarkBoSS, strike_noob, Жорка, vitXa)

А должно быть
SELECT * FROM `users` WHERE `login` IN('MarkBoSS', 'strike_noob', 'Жорка', 'vitXa')


$in = "'".implode("','", $array_logins)."'";
"SELECT * FROM `users` WHERE `login` IN($in)";
Ответ написан
Ваш ответ на вопрос

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

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