31. juli 2003 - 14:12Der er
15 kommentarer og 1 løsning
MySQL: Query - find alder
Jeg har via et andet spørgsmål her på eksperten fået denne kode, men jeg kan ikke få den til at virke! Den skulle gerne finde "users" fra tabellen hvor birthdate er imellem 15 og 17. Birthdate indeholder f.eks. "1987-01-23".
$_POST[agefrom] = 15; $_POST[ageto] = 17;
$mysql = mysql_query("SELECT *, DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthdate, '%Y') - (DATE_FORMAT(CURDATE(), '%m-%d') > DATE_FORMAT(birthdate, '%m-%d')) AS age FROM users WHERE age BETWEEN $_POST[agefrom] AND $_POST[ageto]");
Jeg får følgende fejl:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in search.php on line 498
Hvis der er problemer med min sætning, hvad gør jeg så for at udføre det jeg ønsker?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
$mysql = mysql_query("SELECT *, DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthdate, '%Y') - (DATE_FORMAT(CURDATE(), '%m-%d') > DATE_FORMAT(birthdate, '%m-%d')) AS age FROM users WHERE age BETWEEN $_POST[agefrom] AND $_POST[ageto]") or die(mysql_error();
$num_mysql2 = mysql_num_rows(mysql_query("SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthdate, '%Y') - (DATE_FORMAT(CURDATE(), '%m-%d') > DATE_FORMAT(birthdate, '%m-%d')) AS age FROM users HAVING age BETWEEN 15 AND 17") or die(mysql_error()));
Det giver:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in search.php on line 498
Hvis jeg printer age, får jeg alderen til at være 15, hvis fødselsdagsdatoen er 1987-01-23. Jeg har fødselsdag på den dato, og jeg er altså 16! Hvor i koden ligger fejlen?
Dooh.. Den mulighed havde jeg slet ikke overvejet ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.