Проще говоря, мой PHP-код генерирует кучу HTML.Затем я хочу обновить запись в базе данных примерно так:
$wpdb->update("wp_table",
array( 'content' => $html ),
array( 'id' => 1 ),
array( '%s' ),
array( '%d' )
);
Это просто не работает.Ничего в базе данных не меняется.
Для отладки я поместил точно такой же код выше с одним незначительным изменением, и он РАБОТАЕТ :
$wpdb->update("wp_sn_cached_popular_display",
array( 'content' => "hello" ),
array( 'id' => 1 ),
array( '%s' ),
array( '%d' )
);
(Iпоменял $html
на прямую строку.)
Я даже не могу понять почему, и я много с этим поиграл.Я даже сделал это, и это РАБОТАЕТ тоже:
$string = "hello";
$wpdb->update("wp_sn_cached_popular_display",
array( 'content' => $string),
array( 'id' => 1 ),
array( '%s' ),
array( '%d' )
);
Это всего лишь одна переменная $html
, вызывающая эту функцию, или что-то еще?
Компиляция переменной $html
- это куча таких вещей:
$html .= '<li>';
$html .= '<div class="upcoming-left">';
$html .= '<time datetime="' . $date . '" class="icon">';
$html .= '<em>' . $date_day.'</em>';
$html .= '<strong>' . $date_month . '</strong>';
$html .= '<span>' . $date_num . '</span>';
$html .= '</time>';
$html .= '</div>';
$html .= '<div class="upcoming-right">';
$html .= '<span class="upcoming-title"><a href="' . $upcoming_link . '">' . $upcoming_title . '</a></span>';
$html .= '<span class="upcoming-desc">' . $upcoming_desc . '</span>';
$html .= '<div class="clear"></div>';
$html .= '</div>';
$html .= '</li>';
//...
Есть идеи, почему это так?
Бонусное время для развлечения: похоже, это работает на моемлокальный xampp insall, а не живой сайт.