BLOGスタッフブログ

インソースマーケティングデザイン

2013.10.31 コーディング

wordpress でプレースホルダーを使うときの注意点

こんにちわ。大門です!

先日、ものすごくはまってしまったのでメモです。

先日、そのプレースホルダーで日付を扱おうとしたときのことです。

まずは、通常のプレースホルダの使い方を下記に書きます。

通常のプレースホルダの例)

SELECT * FROM A_TABLE WHERE ID = %d;

SELECT * FROM A_TABLE WHERE NAME = %s;

 

上記のように、数値は「%d」文字列は「%s」を用います。続いて、日付フォーマットの例
例)

SELECT * FROM A_TABLE WHERE DATE_FORMAT(create_date, %Y/%m/%d) < DATE_FORMAT(%s, %Y/%m/%d);

・・・。

実行しているのにデータが返ってこない。

 

実は、Wordpressのプレースホルダで使用する値とMySQLで使用する日付フォーマットの値が競合し、不具合が起きるのです。
解決策は・・・wordpress上でどうすればよいかわからず、プレースホルダをやめて、パラメータを渡すやり方にしました。
【注意】パラメータとして渡す値はフォーマットチェックをかけてSQLインジェクション対策をします。

以上、制作ではまってしまった事でした。。。

インソースマーケティングデザインが書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します