SQL から datetime 形式の列を選択しようとしています2017-12-31 12:01:12
が、ユーザーがフォームに入力して送信した日付に基づいて日付のみを選択する必要があります2017-12-31
。目標は、その日付内のすべてのアクティビティを選択することです。
例: フォームの入力形式はyyyy-mm-dd
のみですが、SQL では日付は として保存されます。yyyy-mm-dd hh:mm:ss
入力日付がyyyy-mm-dd
形式の場合、列データはこの形式で保存されるため、これは無視されますyyyy-mm-dd hh:mm:ss
。
列内yyyy-mm-dd
の のみを選択するにはどうすればよいですか?yyyy-mm-dd hh:mm:ss
$mysql=("SELECT action_time FROM table WHERE action_time ='".$date."' Order by
action_time DESC");
答え1
日付部分のみに興味がある場合は、DATE()
:
SELECT DATE(action_time) FROM table;
クライアント側(HTMLとJS)は変更されて任意のデータをサーバーに送信する可能性があるため、常にユーザー入力をチェックする必要があります。また、PHP で SQL インジェクションを防ぐにはどうすればいいですか?