フォーラムで適切なコードを検索しましたが、解決策はあるもののまだありません。私のデータベースには varchar 12-03-1994 (dmY) があり、私のコードはその年齢範囲のユーザー数を選択します。varchar にある date_of_birth を date_format に変換する必要があり、str_to_date を使用したので、これを実行しましたが、空の結果が得られませんでした。私は何を間違っていますか?
$aged = $conn->prepare("SELECT COUNT(STR_TO_DATE('date_of_birth','%d-%m-%Y')) as year FROM tbl_members WHERE date_of_birth BETWEEN CURDATE() - INTERVAL 105 YEAR AND
CURDATE() - INTERVAL 36 YEAR AND resultselect = ?");
$aged->execute(array($pid));
$recordaged = $aged->fetchObject();
$recorda = $recordaged->year;