Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите, пожалуйста, как сделать запрос к свойствам столбца? И вообще такое возможно?
надо сделать, что-то вроде этого - if(mysql_query('/*текст запроса к типу столбца*/')=='TEXT'){...}
Отредактированно Hagehog (27.08.2007 10:22:05)
Неактивен
Возможно начиная с версии 5.0
SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='databasename' AND TABLE_NAME='tablename' AND COLUMN_NAME='columnname'
Если if Вы хотите делать на уровне PHP, то можете также выполнить
mysql_query("DESC tablename") и обработать вывод.
Неактивен
Спасибо большое.)
Отредактированно Hagehog (28.08.2007 11:41:02)
Неактивен
А возможно ли как-нибудь из php обратиться сразу к колнке в таблице, минуя получения данных о 1, 2 и т.д. не нужных полях?
Неактивен
Да, возможно, способ описан выше
Неактивен
Если вы про mysql_query("DESC tablename"), то объясните, пожалуйста, как обратится отсюда к конкретному полю, чтоб не приходилось несколько раз использовать mysql_fetch_array, а то я что-то не понимаю. А если про ещё раньший код, то он почему-то не работает версия mysql 5.0.18-max
Неактивен
mysql> SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='mysql' AND TABLE_NAME='user' AND COLUMN_NAME='host'; +-----------+ | DATA_TYPE | +-----------+ | char | +-----------+ 1 row in set (0.00 sec)
Должно работать, INFORMATION_SCHEMA появилась в 5.0.0, насколько я понимаю.
Неактивен
По скольку я новичок в этом деле, мне трудно изъясняться, прошу прощение.
Попытаюсь объяснить... Мне надо сделать на уровне php, как вы мне и посоветовали, я использовал данный запрос - mysql_query("DESC tablename") , но этот запрос не даёт именно того поля, что мне не обходимо, когда я использую mysql_fetch_array(), мне приходится загонять в цикл и искать нужное мне поле, а можно ли как нибудь в РHР с помощью mysql_quert("DESC tablename") обратится к конкретному полю.
MySql код, тот что вы мне дали, работает прекрасно в MySql'e, но вот через mysql_query() что-то не получается.
Неактивен
В PHP есть функция mysql-list-fields [url]http://ru2.php.net/manual/en/function.mysql-list-fields.php[/url, но при ее использовании Вам тоже придется в цикле перебрать все столбцы. В таком переборе нет ничего страшного. Вы можете написать свою функцию, которая осуществляет перебор и находит нужное поле.
Второй ответ уже приведен:
mysql_query("SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='mysql' AND TABLE_NAME='user' AND COLUMN_NAME='host';");
Неактивен
Во втором случае каким образом организовать вывод в php?
Спасибо.)
Неактивен
Во втором случае каким образом организовать вывод в php?
$result = mysql_query("SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='mysql' AND TABLE_NAME='user' AND COLUMN_NAME='host';") or die(mysql_error()); if( $aRow = mysql_fetch_assoc($result) ) { echo $aRow['DATA_TYPE']; }
Неактивен
Спасибо большое.
Неактивен