アフィリエイトに疲れたくないクラシの処方箋

Warning: implode() [function.implode]: Invalid arguments passed in

Warning: implode() [function.implode]: Invalid arguments passed in /wp-includes/post.php on line 1980

これが昨日、Wordpress2.92 + PDO(SQLite for Wordpress 2.7)環境でサイトを構築した際に新規ページ追加や既存ページの編集で出る様になりました。

ウエブの記事を元に/wp-includes/post.phpを修正したところこのエラーは出なくなりました。

line 2155


$check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode("', '", esc_sql($hierarchical_post_types)) . "' ) AND ID != %d AND post_parent = %d LIMIT 1";

$hierarchical_post_types_string = implode("', '", $hierarchical_post_types);
$hierarchical_post_types_string = addslashes($hierarchical_post_types_string);
$check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . $hierarchical_post_types_string . "' ) AND ID != %d AND post_parent = %d LIMIT 1";

に変更しました。

実際にこれでよいのか確信はありませんが、上記の「post_name」というフィールドの値を選択する際に使用している「esc_sql」という関数がPDOでは使えないのではないかと考えています。(SQL文字列の中に[']があったら['']に変えるなどの処理をしてくれる関数だと思うッス^^)

その代替案として問題の「$check_sql」から始まるSQL文の前に2行の変換処理を入れているのではないかと。

参考記事

WordPress PDO (SQLite) For Wordpress でエラー


ブログランキング↓↓↓に参加しております。クリックしていただけると励みになります^^b

2010年04月15日 08:41 | コメント(0) | トラックバック(0)



はてなブックマークに登録するYahoo!ブックマークに登録するBuzzurlブックマークに登録するnewsingブックマークに登録するイザ!ブックマークに登録するdel.icio.usブックマークに登録する

カテゴリ:サイト製作TIPS:



楽天ブログって相変わらず… | TOP | KtaiStyleを意識したサイト量産

トラックバック&コメント


お手数ですが、下記入力項目に「スパム嫌い」と入力して下さい。(コメントスパム対策です^^)

タイトル :
名前 : URL :

トラックバックURL


このブログのその他の気になる情報♪♪

FX取扱い通貨ペア