У меня есть следующая таблица mysql под названием «test».

допустим, он имеет следующие данные:

Теперь я хотел бы узнать возраст пользователя, для этого я использую следующий запрос.
SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(DOB, '00-%m-%d')) AS age from test where user_name = 'akshaynhegde';
Работает и возвращает 21 год (это когда я запускаю запрос в терминале)
Но когда я использую следующий код в Drupal 6, он ничего не возвращает ... !!
global $user;
$uname = $user->name;
$sql = "SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(DOB, '00-%m-%d')) AS age from test where user_name = '%s'";
$age = db_result(db_query($sql,$uname));
Я перепробовал все возможности, такие как db_fetch_array()
, db_fetch_object()
и отдельно выполнил $result = db_query($sql,$uname)
, а затем передал $ result в db_result()
..
Но НИЧЕГО НЕ РАБОТАЕТ! Почему .. ????
Ну, к вашему сведению другие простые запросы работают .. например, следующее, это работает.
$sql = "select DOB from test where user_name = '%s'";
$dob = db_result(db_query($sql,$uname));