Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 64
1
MySQL

Вставка или обновление в зависимости от наличия записи в БД

21.04.2015, 19:28. Показов 1220. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Помогите пожалуйста, решить проблемку:

Получаю данные из JSON файла, которые необходимо записать в БД. После того, как получил эти данные, не могу реализовать проверку:

Если такой новости в базе нет, то добавляем, а если есть, то просто обновляем данные.
Получается только сделать что-то одно) Либо обновить, либо добавить
Спасибо за внимание
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2015, 19:28
Ответы с готовыми решениями:

Вставка новой записи или обновление существующей в случае ее наличия
Есть HTML: <div class="input-group"> <span class="input-group-addon">Type</span> ...

Проверка наличия записи в таблице и ее обновление
Здравствуйте. У меня проблема. Как сделать проверку Если в таблице user_item с char_id=$top есть...

Матрица 5 на 5. Вывести строку или столбец в зависимости наличия положительных или нулевых элементов
Дана квадратная матрица порядка n(n=5). Если все строки упорядочены по возрастанию, то в вектор x...

Выполнить заданные команды в зависимости от результата проверки наличия папок или файлов в заданной директории
Здравствуйте! Задача 1. Необходимо проверить наличие папок либо файлов в директории D:\temp....

8
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
21.04.2015, 19:37 2
Цитата Сообщение от Rails Zombie Посмотреть сообщение
Спасибо за внимание
на здоровье
Вам программу написать?
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 64
21.04.2015, 19:39  [ТС] 3
ads, хах) Спасибо, но мне только бы проверку if/else и всё
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
21.04.2015, 20:01 4
Цитата Сообщение от Rails Zombie Посмотреть сообщение
но мне только бы проверку if/else и всё
чапаев картошку на столе раскладывал, чтобы описать ситуацию. А вы что предложите? как вас понять чтобы вам помочь?
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 64
21.04.2015, 20:40  [ТС] 5
ads,

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$nname = mysql_real_escape_string($val[NAME]);
 
$sql = "SELECT id FROM item WHERE id = '$val[ID]' LIMIT 1";
 
$result = mysql_query($sql);
 
if(mysql_num_rows($result)==0){
        $query = "INSERT INTO item (name, category_id) VALUES ('$nname', $val[CATEGORY_ID])";
        $res = mysql_query($query) or die(mysql_error());
}else{
        $query = "UPDATE item SET name = '$nname', category_id = $val[CATEGORY_ID]";
        $res = mysql_query($query) or die(mysql_error());
}
Вот сделал так, но если в базе есть уже такой айди, то не обновляет инфу, а добавляет ещё запись
0
63 / 63 / 23
Регистрация: 09.12.2012
Сообщений: 459
21.04.2015, 21:08 6
Если правильно понял по вашему коду, то в операцию update нужно ещё условие добавить:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$nname = mysql_real_escape_string($val['NAME']);
 
$sql = "SELECT id FROM item WHERE id = '".$val['ID']."' LIMIT 1";
 
$result = mysql_query($sql);
 
$query = (!mysql_num_rows($result))?
    "INSERT INTO item (name, category_id) VALUE ('".$nname."', '".$val['CATEGORY_ID']."')"
        :
    "UPDATE item SET name = '".$nname."', category_id = '".$val['CATEGORY_ID']."' WHERE id='".$val['ID']."'";
 
$res = mysql_query($query) or die(mysql_error());
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 64
21.04.2015, 21:15  [ТС] 7
M9ICHIK, попробовал, но опять дубль
0
63 / 63 / 23
Регистрация: 09.12.2012
Сообщений: 459
21.04.2015, 21:20 8
Лучший ответ Сообщение было отмечено Rails Zombie как решение

Решение

Значит либо этот запрос составлен не верно "SELECT id FROM item WHERE id = '".$val['ID']."' LIMIT 1" или же содержимое переменной $val['ID'] содержит "сюрприз"
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 64
21.04.2015, 21:27  [ТС] 9
M9ICHIK, ой Вы правы)) Разобрался) Забыл, что в JSON айди другой)) Спасибки Вам огромное)
0
21.04.2015, 21:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2015, 21:27
Помогаю со студенческими работами здесь

Вставка (обновление) поля с порядковым номером записи таблицы
Форумчане,доброго времени суток! Подскажите, пожалуйста, как организовать внесение данных...

Запрет на изменение данных в поле в зависимости от наличия или отсутствия данных в другом поле
Форумчане,доброго времени суток! Помогите решить проблему: В форме...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru