Задать вопрос
sbh
@sbh

Как исправить проблему с записью данных в БД?

Хочу записать данные в БД.
Данные в ассоциативном массиве.
Вот пример:
array(6) {
  ["post-id"]=>
  string(29) "1510849007681248963_196691920"
  ["post-url"]=>
  string(40) "https://www.instagram.com/p/BT3nSrsF57D/"
  ["post-author"]=>
  string(13) "rousvel_fifth"
  ["post-date"]=>
  string(10) "1494327258"
  ["pic-url"]=>
  string(109) "https://scontent.cdninstagram.com/t51.2885-15/s320x320/e35/18382713_118552792048179_6482017612954861568_n
.jpg"
  ["post-text"]=>
  string(7) "#coffee"
}


Вот структура БД
cfb31c1bfbf246508060258f5bf3c90b.PNG

Вот так пишу в БД:
foreach($selected_pictures as $item) {
			$wpdb->insert( $wpdb->prefix . "plugin_soc_hshtgs_fndr",
						array('post_id'=>$item["post-id"],
							  'post_url'=>$item["post-url"],
							  'post_author'=>$item["post-author"],
							  'post_creation_date'=>$item["post-date"],
							  'post_text'=>$item["post-text"],
							  'post_photo_url'=>$item["pic-url"],
							  'soc_ntwrk_id'=>"ins")
			

						 );
		}


Данные вставляются странно:
post-id выглядит вообще не так как исходные данные, причем он всегда одинаковый какие бы данные не вставлялись. Кстати это поле уникальное в БД. post-author тоже не вставляется, post-date тоже пустое.
6ee9e4c19df548a694a5b0336b8212b1.PNG
  • Вопрос задан
  • 272 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
sbh
@sbh Автор вопроса
Судя по всему нельзя использовать поля с именами post_id, post_author т.к. они зарезервированы в WordPress. Добавил префиксы к именам полей в БД и данные стали записываться нормально. Дату перед вставкой необходимо конвертировать:
'plgn_post_creation_date'=>date("Y-m-d H:i:s", $item['insta-post-date'])
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@kostya_vtomske
а что странного ? ячейка даты не того формата. выберите timestamp и будет вам время в юникстайме. текущее серверное писаться само. А если хотите писать дату в юникстайме то вам int(11) и все

И post id зачем вам там varchar если вы туда пишите числа.
Ответ написан
secsite
@secsite
Безопасные и быстрые сайты
Хочу записать данные в БД.

Для этого есть функции и прочее АПИ.

А лазить в базу (тем более не понимая) - рожать проблемы и дыры. (но тут хорошо хоть через wpdb, а не напрямую)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы