Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2012, 19:10   #1
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию Как получить id

Так работает:
PHP код:
$db->query("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('55', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
 
mysql_query($query); 
Нужно получить послед id из другой таблицы
Так не работает
PHP код:
    $sql $db->query("SELECT id FROM category ORDER BY id DESC LIMIT 1");
    
$result mysql_query($sql);
    while (
$row mysql_fetch_assoc($result))
    {
    
    
$idd$row['id'];
    
    
$db->query("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('55', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
    
mysql_query($query);
    
    } 
Не хочет записать в таблицу, не то что бы получить id
Predator199 вне форума Ответить с цитированием
Старый 08.08.2012, 19:23   #2
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

Простите, что такое $db ?))
Точнее, что выполняется при $db -> query("бла-бла");

Вообще выглядеть должно примерно так:

Код:
$query = "SELECT id FROM category ORDER BY id DESC LIMIT 1";
$result = mysql_query($query);

$row = mysql_fetch_row($result);
$id = $row[0]; 

$query = "INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('55', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )";

mysql_query($query);
Написав, задался парой вопросов:
1)Нафига Вы использовали цикл, если у Вас всего одна запись в результате?
2)Зачем Вам значение $idd ?
3)У Вас поле id - текст? Странно как-то...

Отвечая на Ваш вопрос по поводу записи... Может дело в том, что id является ключом, и запись с ним уже существует?

Последний раз редактировалось Sna1L; 08.08.2012 в 19:25.
Sna1L вне форума Ответить с цитированием
Старый 08.08.2012, 19:48   #3
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Поле id не текст, но записать значение в него можно.


Так записывает непонятные 3348 в поле id
PHP код:
$query "SELECT id FROM category ORDER BY id DESC LIMIT 1";
   
$result mysql_query($query);
   
$row mysql_fetch_row($result);
   
$idd $row[id]; 
   
$db->query("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('$idd', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
   
mysql_query($query); 
Либо 1 должно в поле записать, либо id посл катег 471
А так все ровно записывает 44 в поле id

PHP код:
$query "SELECT id FROM category ORDER BY id DESC LIMIT 1";
   
$result mysql_query($query);
   
$row mysql_fetch_row($result);
   
$idd 44
   
$db->query("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('$idd', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
   
mysql_query($query); 
Почему?

Последний раз редактировалось Predator199; 08.08.2012 в 19:54.
Predator199 вне форума Ответить с цитированием
Старый 08.08.2012, 19:55   #4
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

Вы хоть в код смотрите.
mysql_fetch_row() возвращает одномерный массив.
Вы обращаетесь к нему $row[id], а нужно $row[0]

УЧИ МАТЧАСТЬ!(С)

ЗЫ а зачем писать ковычки, если id не текст?
ЗЫЫ используйте запятые. Это полезно

Последний раз редактировалось Sna1L; 08.08.2012 в 20:01.
Sna1L вне форума Ответить с цитированием
Старый 08.08.2012, 19:56   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

И не надоедает же вот так, вслепую, наугад что попало в код тыкать...
Остановись уже, почитай книгу по РНР+MySQL, посмотри какой-нить видеокурс – если с чтением туго.
У тебя ж все вопросы один глупее другого – и все из-за абсолютного непонимания основ программирования, базового синтаксиса.
Andkorol вне форума Ответить с цитированием
Старый 08.08.2012, 20:04   #6
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

Andkorol, а я считаю, что у ТС это способ изучения.
Если люди отвечают на глупые вопросы, то почему бы не использовать это? Это что-то вроде изучения с учителем.
Но книженцию ТС иметь нужно, не спорю
Sna1L вне форума Ответить с цитированием
Старый 08.08.2012, 20:06   #7
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

PHP код:
$db->query("SELECT id FROM category ORDER BY id   DESC  LIMIT 1");
   
$result mysql_query($query);
   
$row mysql_fetch_assoc($result);
   
$idd $row[id]; 
   
$db->query("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('$idd', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
   
mysql_query($query); 
с mysql_fetch_assoc, тож самое.

Последний раз редактировалось Predator199; 08.08.2012 в 20:09.
Predator199 вне форума Ответить с цитированием
Старый 08.08.2012, 20:12   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Sna1L Посмотреть сообщение
а я считаю, что у ТС это способ изучения.
За 150+ вопросов этот товарищ не поумнел ни разу, к сожалению – так что если это и способ, то в данном случае явно не работающий.
Всё заканчивается тупым копипастом предложенного решения, и то – даже готовое решение не всегда с первого раза получается пристроить, как нужно.
Andkorol вне форума Ответить с цитированием
Старый 08.08.2012, 20:15   #9
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

ТС, ЁМАЁ ну сделайте Вы вывод значения переменной. Так ошибки искать намного проще.
Учитесь решать проблемы самостоятельно. Этой ситуации можно противопоставить следующую:
Идете по дороге, спотыкаетесь об камушек и вызываете грузчиков, чтобы они его убрали

ЗЫ помимо вывода переменной сделайте еще вывод запроса к СУБД. Может быть, какие-то проблемы есть в нем.

Больше ничем помочь не могу. А более опытные форумчане, видимо, отвечать не желают Так что это Ваше "испытание" на сегодня. Считайте, что если не справились, то оратор выше прав

Последний раз редактировалось Sna1L; 08.08.2012 в 20:19.
Sna1L вне форума Ответить с цитированием
Старый 08.08.2012, 20:15   #10
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Так работает на отдельном php.
PHP код:
  $query = ("SELECT id FROM category ORDER BY id DESC LIMIT 1");
   
$result mysql_query($query);
   
$_row mysql_fetch_assoc($result);
   
$idd $_row[id]; 
   
   
$query =("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('$idd', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
   
mysql_query($query); 
А вот через скрипт cms, нет.
PHP код:
$gggg $db->query("SELECT id FROM category ORDER BY id DESC LIMIT 1");
   
$result mysql_query($gggg);
   
$rowg mysql_fetch_assoc($result);
   
$idd $rowg[id]; 
   
$db->query("INSERT INTO forums (id, ficon, parent_id,  title_, description, alt_name) values ('$idd', '$cat_icon', '1', '$cat_name', '$description', '$alt_cat_name' )");
   
mysql_query($query); 
Почему?

Последний раз редактировалось Predator199; 08.08.2012 в 20:21.
Predator199 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить ошибку? semiono Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 12.10.2010 22:28
WH_JOURNALRECORD. Как получить VirtualCode нажатой кнопки? Или как запустить toAscii только с ScanCode? TwiX Общие вопросы Delphi 7 09.06.2010 23:31
как программно получить IP? betirsolt Работа с сетью в Delphi 3 08.02.2010 12:43
Как получить капчу reyn90 Помощь студентам 0 14.06.2009 00:25
как получить время? Аlex Общие вопросы C/C++ 1 04.02.2009 21:25