第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

WordPress wpdb->更新多個(gè)“WHERE”ID

WordPress wpdb->更新多個(gè)“WHERE”ID

PHP
慕哥6287543 2023-09-08 10:50:22
PHP菜鳥在這里:我需要用$wpdb->update當(dāng)前日期時(shí)間更新所有具有“NULL”值的數(shù)據(jù)庫行。這是當(dāng)我直接插入 PHPMyAdmin 時(shí)可以使用的 MySQLUPDATE `mytable`SET `expired` = CURRENT_TIMESTAMP()WHERE (`id` > 1 AND `expired` IS NULL)使用$wpdb我發(fā)現(xiàn)我需要獲取所有需要過期的 ID,如下所示:$get_ids = $wpdb->get_results("    SELECT id    FROM $database    WHERE (`id` > 1 AND `expired` IS NULL)");所以現(xiàn)在我有一個(gè) ID 數(shù)組,我的想法是將它們放在像$wpdb->update這樣的位置foreach($get_ids as $key => $value){    $data = array('expired' => $currentTime);    $where = array('id' => $value);    $wpdb->update(        $database,        $data,        $where,    );    print_r( $where );}print_r 返回 "Array(    [id] => stdClass Object        (            [id] => 34        ))Array(    [id] => stdClass Object        (            [id] => 38        ))但閱讀文檔我相信它需要更像這樣array('id' => $value)另外,這是我的錯(cuò)誤日志中的PHP錯(cuò)誤[30-Jul-2020 03:42:50 UTC] PHP 注意:wpdb::prepare 被 錯(cuò)誤地調(diào)用。不支持的值類型(對(duì)象)。請(qǐng)參閱WordPress 中的調(diào)試以獲取更多信息。(此消息是在版本 4.8.2 中添加的。)位于 /Applications/MAMP/htdocs/myproject/wp-includes/functions.php 第 5167 行[2020 年 7 月 30 日 03:42:50 UTC] PHP 警告:mysqli_real_escape_string() 期望參數(shù) 2 為字符串,即第 1158 行 /Applications/MAMP/htdocs/myproject/wp-includes/wp-db.php 中給出的對(duì)象[30-Jul-2020 03:42:50 UTC] PHP 注意:wpdb::prepare 被 錯(cuò)誤地調(diào)用。不支持的值類型(對(duì)象)。請(qǐng)參閱WordPress 中的調(diào)試以獲取更多信息。(此消息是在版本 4.8.2 中添加的。)位于 /Applications/MAMP/htdocs/myproject/wp-includes/functions.php 第 5167 行[2020 年 7 月 30 日 03:42:50 UTC] PHP 警告:mysqli_real_escape_string() 期望參數(shù) 2 為字符串,即第 1158 行 /Applications/MAMP/htdocs/myproject/wp-includes/wp-db.php 中給出的對(duì)象抱歉,它很長,但我想清楚地展示我已經(jīng)嘗試過的內(nèi)容,并清楚地了解我正在做的事情。
查看完整描述

1 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

你想要$wpdb->get_col()而不是$wpdb->get_results(). 同樣的事情,但get_col返回一個(gè)簡單的值數(shù)組(因?yàn)槲覀冎滥环祷匾涣校鴊et_results返回和對(duì)象數(shù)組,因?yàn)槟赡軙?huì)獲得多列。


或者你可以這樣做:


$where = array('id' => $value->id);

// - or -

$where = (array) $value;

但在這種情況下使用:


$get_ids = $wpdb->get_col("

    SELECT id

    FROM $database

    WHERE (`id` > 1 AND `expired` IS NULL)

");

是正確的做法。


請(qǐng)參閱: https: //codex.wordpress.org/Class_Reference/wpdb


我相信您的 mysql 準(zhǔn)備錯(cuò)誤是由于您將錯(cuò)誤的值傳遞給 where 子句并且無法為準(zhǔn)備函數(shù)正確解析它。


查看完整回答
反對(duì) 回復(fù) 2023-09-08
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)