Помогите написать запрос

Статус
В этой теме нельзя размещать новые ответы.

sigi

Постоялец
Регистрация
17 Дек 2006
Сообщения
58
Реакции
2
Есть переменная $1
есть таблица Abc в ней поля id,name
нужно что бы скрипт искал есть ли в таблице совпадение $1 == name
если есть то выдавал бы мне в переменную скажем $2 значение id
если же совпадений нету то скрипт добавляет рядок и тоже в переменную $2 дает мне значение id ... Надеюсь понятно обяснил :)) Заранее спасибо!!
 
PHP:
 if($row = mysql_fetch_array(mysql_query("SELECT id  FROM Abc where name = '".$_1."'"))){
     $_2 =   $row['id'];
 }else {
     mysql_query("INSERT INTO Abc (id, name) VALUES (NULL, 'xxxx'");
     $_2 = mysql_insert_id();
 }
наверно как-то так
 
  • Нравится
Реакции: sigi
PHP:
 if($row = mysql_fetch_array(mysql_query("SELECT cid  FROM " . PREFIX . "_mservice_category where name = '".$artist."'"))){ 
     $artid =   $row['cid']; 
 }else { 
     $db->query( "INSERT INTO " . PREFIX . "_mservice_category (cid, name) VALUES (NULL, '$artist')"); 
     $artid = mysql_insert_id(); 
 }

На половину работает... Оно каждый раз добаляет строки.. даже если совпадение есть... id в переменную не кидает незнаю может это связанно с тем что у меня имя поля не id а cid ?! Еще этот код работает в dle.. при добавлении строки я вставил $db->query и норм заработало.. а вот куда и нужно ли вставлять такое в начале кода я незнаю...

Добавлено через 38 минут
Написал вот так
PHP:
if($row = $db->super_query("SELECT cid  FROM " . PREFIX . "_mservice_category where name = '$artist'")){ 
     $artid = $row['cid']; 
 }else { 
     $db->query( "INSERT INTO " . PREFIX . "_mservice_category (cid, name) VALUES (NULL, '$artist')"); 
     $artid = mysql_insert_id(); 
 }
Теперь вроде как работает все норм.. только вот это мне не выдает :(
$artid = mysql_insert_id();
Подскажите как правильно написать ?!

Добавлено через 59 минут
Все... заменил
$artid = mysql_insert_id();
на
$artid = mysql_last_insert_id();
и заработало...
Спасибо chang!
 
Хммм не все так хорошо как казалось.. выскакивает иногда ошибка
Fatal error: Call to undefined function mysql_last_insert_id() in D:\*** on line 151
И непонятно зачем оно начало писать id после 27 сразу 5590 ... Кто знает в чем проблемка может быть ?
 
Хммм не все так хорошо как казалось.. выскакивает иногда ошибка
Fatal error: Call to undefined function mysql_last_insert_id() in D:\*** on line 151
И непонятно зачем оно начало писать id после 27 сразу 5590 ... Кто знает в чем проблемка может быть ?
функции "mysql_last_insert_id()" в php-mysql не существует, только если ты ее сам не напишешь. Есть функция mysql_insert_id()
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху