|
|
|
| Как это может быть, я уже замучился.
$q = mysql_query("SELECT foldername,level,MAX(id) FROM `folders` LIMIT 1;");
$f = mysql_fetch_array($q); // - $Q не нравится.
|
работает только если писать * . тоесть извлечь все.
или одно поле
а если перечислять через запятую, то не пашет
НО В PHPMYADMIN все отлично работает!!! | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 16:29)
| | Запрос неоднозначен сам по себе.
echo mysql_error(); это, вероятно, подтверждает. | |
|
|
|
|
|
|
|
для: Trianon
(04.11.2009 в 16:43)
| | Уже перекрутил его так что работет, но не извлекает ничего.
mysql_error ничего не выводит уже, одинаковый запрос, в phpmyadmin извлекает максимальное значение, а здесь - пусто. | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 16:50)
| | То есть Вы удовлетворены результатом.
А если неудовлетворены, то почему не показали запрос? | |
|
|
|
|
|
|
|
для: Trianon
(04.11.2009 в 16:52)
| | не удолетворен,
запрос : SELECT level, MAX(id) FROM `folders` - phpmyadmin работает, и извлекает максимальное значения id из базы данных. В ПХП ничего не извлекает. ошибку уже не пишет, потому что переставил местами level и MAX(id) . | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 17:31)
| | еще раз.
SELECT level, MAX(id) FROM `folders` - запрос неоднозначный.
Это значит, что сервер не знает, что конкретно Вы хотите получить.
В данном случае - из какой строки взять поле level.
Нормальный сервер на такой запрос выдаст ошибку прямо и сразу.
MySQL может вернуть первый (или последний) попывшийся вариант.
Но запрос от этого прямее не станет. | |
|
|
|
|
|
|
|
для: Trianon
(04.11.2009 в 17:37)
| | хорошо, есть у меня таблица folders
в ней 4 поля : id char(11) PRIMARY_KEY, foldername char(255),level char(11),like char(11)
Нужно извлечь поле с максимальным значением id . Два их быть не может, поскольку ID-PRIMARY-KEY | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 17:53)
| | Следите за пальцами.
Поле с максимальным значением id извлекается следующим запросом:
SELECT MAX(`id`) FROM `folders`;
|
В точности именно таким.
Хотя, прости господи, я не могу предположить, зачем бы Вам понадобилось максимальное значение суррогатного первичного ключа. Так просто абы зачем его как правило не требуют, потому что не нужно. Но это отдельная тема. | |
|
|
|
|
|
|
|
для: Trianon
(04.11.2009 в 17:55)
| |
$query = "SELECT MAX(`id`) FROM `folders`;";
$q = mysql_query($query);
$f = mysql_fetch_array($q);
$maxid = $f[id];
|
$maxid - пустой. хотя оно точно есть и пхпмуадмин его извлекает, оно равно 4. | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 18:02)
| | ну так он в данном случае не $f[id] и даже не $f['id'] ,а скорее $f['MAX(`id`)'] , и наверняка $f[0]
Диагностику ошибок надо включать. На этапе отладки - как минимум. | |
|
|
|
|
|
|
|
для: Trianon
(04.11.2009 в 18:04)
| | Я обычно так делал, и вроде работало, а $f['MAX(`id`)'] я такого и не видал! | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 18:06)
| | делать надо было print_r($f); | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 16:29)
| |
SELECT foldername,level,id FROM folders WHERE id = (SELECT MAX(id) FROM folders)
|
| |
|
|
|
|
|
|
|
для: ols
(04.11.2009 в 17:57)
| | Либо SELECT * FROM folders ORDER BY id DESC LIMIT 1 | |
|
|
|
|
|
|
|
для: ols
(04.11.2009 в 18:02)
| | #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like) values('5','КатегориÑ
не знаете ли что ето может означать ?
запрос : INSERT INTO `folders` (id,foldername,level,like) VALUES('5','Категория 1','1','4'); | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 19:11)
| | может означать применение зарезервированного слова в качестве имени.
О чем как бы и сообщает. | |
|
|
|
|
|
|
|
для: toproot
(04.11.2009 в 19:11)
| | Столбец LIKE необходимо заключать в обратные кавычки, причину Вам назвал Trianon. | |
|
|
|
|
|
|
|
для: ols
(04.11.2009 в 22:26)
| |
SELECT foldername,level,id FROM folders WHERE id = (SELECT MAX(id) FROM folders)
|
- извлекает падло максимальное значение - до 9. Эсли в базе данных есть 10 или больше - все равно это значение будет = 9 ! (значение max(id) ) | |
|
|
|
|
|
|
|
для: toproot
(05.11.2009 в 00:34)
| | может просто автор структуры падло правильный тип у поля не указал? | |
|
|
|
|
|
|
|
для: Trianon
(05.11.2009 в 11:32)
| | id char(11) PRIMARY_KEY, а что ? может нада id INT(11) PRIMARY_KEY? | |
|
|
|
|
|
|
|
для: toproot
(05.11.2009 в 13:29)
| | char '9' будет всегда больше чем char '10'
лучше INT применять | |
|
|
|
|
|
|
|
для: GeorgeIV
(05.11.2009 в 14:13)
| | Действительно поменял на ИНТ и все , уже нормально щитает. | |
|
|
|
|
|
|
|
для: ols
(04.11.2009 в 17:57)
| | SELECT foldername,level,id FROM folders WHERE id = (SELECT MAX(id) FROM folders)
действительно работает, огромное спасибо вам! | |
|
|
|