2011-01-27 13 views
1

私のサイトには、bind_variablesがうまく動作するいくつかのdbコールがあります。しかし、私は、コマンドのために、ドキュメントに日付のための正しい符号を見つけることができます。日付と他の変数をPHPのSQLクエリにバインドするには? (MySql)

$query->bind_param("ssi",...); 

私のような何かをしたくない:結合ではない、これは文字列操作ですので

$db->query('SELECT item FROM table WHERE something='.$something); 

を。 (バインドでは、 "?"が残っているため、データベースでは異なるカリキュラムでのみ同じように見えるため、クエリが高速になります)。

私はあまり明確ではないが、 thisは、日付変数タイプのみです。日付の

+0

私が正しく理解している場合は、http://stackoverflow.com/questions/805828/using-mysqli-bind-param-with-date-and-time-columnsをご覧ください。それはちょうどそれを文字列として扱うことができるように見えます。 –

+0

しかし、日付を文字列として挿入します。それはいい練習ですか? – AYBABTU

答えて

0

上に与えられた私のコメントにいくつかの追加情報: Using Mysqli bind_param with date and time columns?:私はで 見て正しく理解しなければ

。 あなたはちょうどそれをの文字列として扱うことができるように見えます。

bind_paramとしたい場合は、それを行う方法がわかりますが、問題はありません。 mysqlが間違ったフォーマットの日付を受け取ると、0000-00-00の値がテーブルに挿入されます。

あなたが問題と思われることを教えていただけますか?通常のクエリとして挿入する場合、Stringと同じ構文も使用します。

+0

あなたはおそらく正しいでしょう。 – AYBABTU

0

、あなたはbind_paramを呼び出す前に、それらをフォーマットする必要があります。

$query->bind_param('s', $date->format('Y-m-d H:i:s')); // assuming $date is a DateTime object 
0

日付がフォーマットMySQLで文字列としてバインドする必要があります(yyyy-mm-dd)を受け入れます。

+1

また、yy-mm-ddを受け入れる –

+0

@Shakti:それは良い考えだと思いますか? – Quassnoi

+0

あなたがyy-mm-ddを渡すと、Mysqlは拒否されません。 –

関連する問題