2017-01-31 1 views
1

毎日ログファイルに次のエラーが表示されます。行252の/dbtable.phpで呼び出され、行1246の/public_html/wp-includes/wp-db.phpに定義されているwpdb :: prepare()の引数2がありません

PHP警告:wpdbの欠損引数2 ::準備()、ライン252上/home/xxxxxxxx/public_html/wp-content/plugins/affiliate-link-cloaking/dbtable.phpに呼び出され、で定義されています

:私はこのコードを持って行ライン252上の/dbtable.phpで1246

に/home/xxxxxx/public_html/wp-includes/wp-db.php

そして、ライン1246上の/wp-db.phpに私はこのコードを持っている:

public function prepare($query, $args) { 

してください、私はPHP/SQLで非常に経験の浅いだと私は一般的なものを理解していないだろうことを覚えておいてくださいヒント、コピーしてどこペースト))、最初の値が置換トークン(%s =文字列、%d =数字とSQLでなければなりません$wpdb->prepareを使用する正しい方法ではありません

おかげ

+3

何それが何をしているのか、その機能がどのように使用されるのかということです。 https://developer.wordpress.org/reference/classes/wpdb/prepare/ – chris85

+0

申し訳ありませんが、私にとっては中国語のようなもので、犯罪ではありません。 ) – Merkucio

+0

このサイトは、学習するのに役立つように設計されていますが、必ずしも無料で問題を解決する場所ではありません。誰もが初心者として始まります。役立つ場合は、サイトでサポートされている質問/回答のタイプに関するガイドラインがあります:http://stackoverflow.com/help/on-topic – doublesharp

答えて

1

するのか、教えてください等)を入力し、その後に値を置き換えます。ここ

$sql = "DELETE FROM {$this->track_table_name} WHERE YEAR(visittime) = %d AND MONTH(visittime) = %d"; 
$query = $wpdb->prepare($sql, date('Y', $sdate), date('m', $sdate)) 
$wpdb->query($query); 

を参照してください。例: 代わりに、私はあなたのコードを読んで理解する必要がありWHERE`何をコピー&ペーストし、教えてください `tips`の一般的な種類を理解していないだろう`のhttps://developer.wordpress.org/reference/classes/wpdb/prepare/

+0

このコードを変更する必要がありますか?$ result = $ wpdb- > AND> MONTH(visittime)= "。date($ wpdb-> prepare(" DELETE FROM "、$ this-> track_table_name。)ここでYEAR(visittime)=" date( 'Y'、$ sdate) 'm'、$ sdate))) ';あなたのもの?) – Merkucio

+0

これはおそらく動作しますが、私は明らかにそれをテストしていません。 '$ wpdb-> prepare()'を正しく使う方法の例として使ってください。 – doublesharp