используйте CONVERT для преобразования специального символа в mysql

#php #mysql

#php #mysql

Вопрос:

У меня есть массив со значениями типа

 $array = array('T-106', 'T-125', 'anyname');
$imploade_id = implode(', ', $array);
  

Я хочу поместить этот результат в mysql

 mysql_query("select * from table_name where userid in ($imploade_id)");
  

Но я получил ошибку с этим запросом, который

 Unknown column 'T' in 'where clause'
  

Я также использовал

 select * from table_name where userid in ( CONVERT ('T-106' USING urf8) )
  

Он отлично работает только для одного идентификатора, но я не знаю, как использовать с $implode_id или с набором идентификаторов.

Ответ №1:

Замените верхние 2 строки на это

 $array = array('T-106', 'T-125', 'anyname');
$imploade_id = implode("','", $array);
$imploade_id="'$imploade_id'";
  

и попробуйте

Ответ №2:

Если вы хотите поместить в базу данных, которую вы используете INSERT , а не SELECT .

Пример:

 mysql_query("INSERT INTO table_name (column) values ($imploade_id)");
  

Комментарии:

1. спасибо за быстрый ответ, но извините за объяснение, но put означает массив в операторе IN..