Формат запроса UPDATE для Wordpress

S3
На сайте с 29.03.2012
Offline
366
942

Нужно по запросу обновить часть данных в строке в таблице.

пытаюсь сделать так:


$wpdb->query("UPDATE `wp_rus_posts` SET 'post_content'='$f_cont', 'post_excerpt'='$f_excer' WHERE 'ID'='$f_pid'");

Переменные $f_cont f_excer f_pid заданы, однако не обновляется строка. Похоже, я неправильно составляю запрос

пытаюсь проверить обработанные строки:

$post_id = $wpdb->num_rows;

echo '<br> Номер записи'.$post_id;

запрос выдает 0

Хелп ми плиз...

дани мапов
На сайте с 06.09.2012
Offline
204
#1

У имен полей или вообще уберите кавычки или поставьте правильные, должно быть так


$wpdb->query("UPDATE `wp_rus_posts` SET `post_content`='$f_cont', `post_excerpt`='$f_excer' WHERE 'ID'='$f_pid'");
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
S3
На сайте с 29.03.2012
Offline
366
#2
дани мапов:
У имен полей или вообще уберите кавычки или поставьте правильные, должно быть так

$wpdb->query("UPDATE `wp_rus_posts` SET `post_content`='$f_cont', `post_excerpt`='$f_excer' WHERE 'ID'='$f_pid'");

Изначально так и было, все равно не работало. надо попробовать без кавычек.

UPDATE не может требовать указания всех полей таблицы, как INSERT ?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#3

$sql = "UPDATE `wp_rus_posts` SET `post_content`='$f_cont', `post_excerpt`='$f_excer' WHERE `ID`='$f_pid'";

$wpdb->query($sql);

PS. В след.раз делайте так:

$sql ="Тут сам запрос";

$result = mysql_query($sql);

echo mysql_error(); //Если есть ошибка в запросе, то она будет выведена на экран

Подпись))
дани мапов
На сайте с 06.09.2012
Offline
204
#4
Sly32:
Изначально так и было, все равно не работало. надо попробовать без кавычек.
UPDATE не может требовать указания всех полей таблицы, как INSERT ?

Да и при INSERT не обязательно указывать все имена.

Выше правильно подсказали, после запроса вставьте echo mysql_error();

S3
На сайте с 29.03.2012
Offline
366
#5

Заработало в таком виде:


$wpdb->update( 'wp_rus_posts',
array( 'post_content' => $val),
array( 'ID' => $pos_id )

);

сама переменная должна быть без кавычек. Потом проверю еще через php запрос

S3
На сайте с 29.03.2012
Offline
366
#6

Проверил так:

$wpdb->query("UPDATE `wp_rus_posts` SET 'post_content'=$f_cont, 'post_excerpt'=$f_excer WHERE 'ID'=$f_pid");

Не работает

_ROBOT
На сайте с 07.02.2006
Offline
109
#7

переменная не может быть без кавычек в запросе.

mysql_error() что выводит?

"Мы роботы-бездельники, не любим понедельники..."

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий