2016-04-19 11 views
1

複数のwhere節でデータベースの1行を更新しようとしていますが、動作しません。ここに私のコードは...複数のwhere句でwordpressデータベーステーブルを更新

$wpdb->update( 
'wp_cf_form_entry_values', 
array( 
    'value' => 'example', // string  
), 
array('entry_id' => '$entryid' AND 'slug' => 'code'), 
array( 
    '%s', // value1  
), 
array('%d', '%s') 
); 
+0

何が動作していないのかを明確にすることはできますか?エラーメッセージ? –

+0

このクエリは機能しません。私はコーデックスを読み、この方法で見つけました。しかし、そのコーデックスには 'where'節が1つしかありませんでしたが、私は' where'節を2つ入れました。だから、嫌なことに、2つの 'where'を使う構文が間違っていると、それが動作しない理由かもしれません。 2番目の最後の行(array( '%d'、 '%s') ')と6行目' array( 'entry_id' => '$ entryid' AND 'slug' => 'code' 。 – Rishabh

+1

2番目の配列にエラーがあります。それは配列であり、配列の行の間に昏睡以外の演算子を使用することはできません。 PHPドキュメントをご覧ください: http://php.net/manual/pl/language.types.array.php –

答えて

3

私は自分の解決策を早く得ました。だから私は将来の視聴者のためにそれを掲示しています。 問題は6行目です。

私は第六行の変更...

array('entry_id' => $entryid, 'slug' => 'registration'), 

句は以下のように見える2と今私の全体の更新クエリの下に作る第六行

array('entry_id' => '$entryid' AND 'slug' => 'code'), 

..

$wpdb->update( 
'wp_cf_form_entry_values', 
    array( 
    'value' => $regcode //entering data in value field 
), 
    array('entry_id' => $entryid, 'slug' => 'registration'), //two where clause 
array( 
    '%s'  //specifying which type of value entering in table 
), 
array('%d', '%s') //specifying which type of value using in where cluase 

);

2日後でも私はここから簡単な質問の答えを得られなかったのだろうかと思います。これは単純な更新クエリであり、誰も知らない、または返信したくない...

関連する問題