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]   

> Без описания
MilkeyWay
Отправлено: 13 Июня, 2016 - 00:46:25
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2016  


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




Привет всем!
Не знаю правильно указал название темы или нет,суть в следующем:
В БД есть строка,созданная из массива:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $k = implode(PHP_EOL, $k);
  2. далее INSERT в бд
  3.  


не могу сообразить,как из этой строки потом удалять определенные значения через запрос DELETE

направьте на путь истинный

зы или есть смысл все же применить serialize и хранить в БД массив,а не строку?


Пробовал:

CODE (htmlphp):
скопировать код в буфер обмена
  1. public function deleteK($todelete) {
  2.                
  3.  
  4.                 foreach($todelete as $k) {
  5.                 $s[] = $k;
  6.         }
  7.                
  8.                 $s = implode(PHP_EOL, $s);
  9.  
  10.                 $this->db->query("DELETE FROM " . DB_PREFIX . "test WHERE sk IN ($s)");
  11.                
  12.        


вылзает:
CODE (htmlphp):
скопировать код в буфер обмена
  1. PHP Notice:  Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\r)' at line 1<br />Error No: 1064<br />DELETE FROM test WHERE sk IN (23\r
  2. 12) in /var/www/html/system/library/db/mysqli.php on line 41
 
 Top
Viper
Отправлено: 13 Июня, 2016 - 07:07:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




MilkeyWay пишет:
зы или есть смысл все же применить serialize и хранить в БД массив,а не строку?
есть смысл привести исходные данные в нормальный вид, а не страдать х*ней.
MilkeyWay пишет:
$k = implode(PHP_EOL, $k);
говнокод. На разных системах будут разные "чудеса".

MilkeyWay пишет:
Пробовал:
читать нужно http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]html#function_in


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Faraon-san
Отправлено: 14 Июня, 2016 - 10:46:29
Post Id



Посетитель


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


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




 
 Top
MilkeyWay
Отправлено: 14 Июня, 2016 - 21:54:28
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2016  


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




Faraon-san пишет:
$s = implode(',', $s);

Спасибо!

зы там еще и trim пришлось использовать
 
 Top
MilkeyWay
Отправлено: 18 Июня, 2016 - 02:27:48
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2016  


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




Viper пишет:
$k = implode(PHP_EOL, $k);
говнокод. На разных системах будут разные "чудеса".

можно по подробнее,разве эта константа не универсальное решение?
 
 Top
Viper
Отправлено: 18 Июня, 2016 - 09:26:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




MilkeyWay пишет:
разве эта константа не универсальное решение?

\n (unix/linux)
\r\n (windows)
\r (osx)

А теперь вам приезжает \n\r.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 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