0

私はphpとmysqlを使ってユニプロジェクトに取り組んでいます。一部のテーブルに日付フィールドがあり、データ型は「date」です。日付のデフォルトのストレージはyyyy/mm / ddですが、dd / mm/yyyyとして表示したいと思います。2つのテーブルからすべてのフィールドを選択し、date_formatを使用してフィールドをフォーマットしようとしています。

以下のクエリを使用しましたが、日付がyyyy / mm/ddで出力されています。

$query="SELECT *, DATE_FORMAT(profile.Dob, '%D %M %Y') FROM user, profile WHERE user.Username='$username' and 
user.Password='$password' and user.User_id = profile.User_id";

また、ユーザーフォームから日付ベースに日付を挿入します。それらは同様の手順で実行されますか?誰もが与えることができるどんな助けにも感謝します。

4

1 に答える 1

2

SELECTING *であるため、クエリで日付が2回返される可能性があります。そのため、クエリでDOBフィールドが2回返されます。一度フォーマットされ、一度はされません。

SELECT *(通常は「最悪のプラクティス」)を維持する必要がある場合は、クエリを次のように変更し、フィールドをformattedDOBとして参照します。

SELECT *, DATE_FORMAT(profile.Dob, '%D %M %Y') as formattedDOB 
FROM user, profile 
WHERE user.Username='$username' and 
user.Password='$password' and user.User_id = profile.User_id
于 2012-04-23T15:34:35.617 に答える