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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2024, 21:37   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Парсинг строки и запись в БД

Добрый день!
Отправляю в PHP версии конкретной программы:
1.0.0.63
1.0.0.40

и далее произвожу запись в БД
Код:
<?php
// Получаем pc_name из таблицы, если такой есть
$query = "SELECT `pc_name` FROM `versions` WHERE `pc_name` = '".$_POST['pc_name']."'";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
$pc_name = mysql_fetch_array($result);
// Сверяем pc_name с pc_name, полученным из таблицы
if ($_POST['pc_name'] == $pc_name['pc_name']) {
	// Если есть совпадение, то обновим данные
	$query = "UPDATE `versions` SET
			 `versions` = '".addslashes($_POST['versions'])."',
			 `date` = '".get_Datetime_Now()."'
			 WHERE `pc_name` = '".$_POST['pc_name']."'";
	$result = mysql_query($query) or die ("ERROR: ".mysql_error());
} else {
	// Иначе добавляем новую запись
	$query = "INSERT INTO `versions` (`location`, `pc_name`, `versions`, `date`)
			 VALUES ('".$_POST['location']."',
					 '".$_POST['pc_name']."',
					 '".addslashes($_POST['versions'])."',
					 '".get_Datetime_Now()."')";
	$result = mysql_query($query) or die ("ERROR: ".mysql_error());
}
?>
Теперь отправляю имя программы и версию, и всё это разделено ;
Project1;1.0.0.63
Project1;1.0.0.40


Как теперь строку с именем и версией разбить на name и version и записать в соответствующие поля? Строк может быть много.
Код:
<?php
// Получаем pc_name из таблицы, если такой есть
$query = "SELECT `pc_name` FROM `versions` WHERE `pc_name` = '".$_POST['pc_name']."'";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
$pc_name = mysql_fetch_array($result);
// Сверяем pc_name с pc_name, полученным из таблицы
if ($_POST['pc_name'] == $pc_name['pc_name']) {
	// Если есть совпадение, то обновим данные
	$query = "UPDATE `versions` SET
			 `name` = 'значение до ;',
			 `versions` = 'значение после ;',
			 `date` = '".get_Datetime_Now()."'
			 WHERE `pc_name` = '".$_POST['pc_name']."'";
	$result = mysql_query($query) or die ("ERROR: ".mysql_error());
} else {
	// Иначе добавляем новую запись
	$query = "INSERT INTO `versions` (`location`, `pc_name`, `versions`, `date`)
			 VALUES ('".$_POST['location']."',
					 '".$_POST['pc_name']."',
					 'значение до ;',
					 'значение после ;',
					 '".get_Datetime_Now()."')";
	$result = mysql_query($query) or die ("ERROR: ".mysql_error());
}
?>
Shouldercannon вне форума Ответить с цитированием
Старый 15.04.2024, 08:00   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

используйте explode()

ну и код ваш подвержен SQL-иньекциям... сломать - как два пальца об асфальт
ADSoft вне форума Ответить с цитированием
Старый 18.04.2024, 09:43   #3
Liris
Пользователь
 
Регистрация: 09.05.2012
Сообщений: 20
По умолчанию

А еще ваш код не будет работать на современных версиях РНР (в РНР 7 прекратили поддержку библиотеки mysql из-за того, что она старая и дырявая. Нужно перейти на MySQLi или PDO.

https://www.php.net/manual/ru/function.mysql-query.php

Заодно рекомендую познакомиться с подготовленными выражениями:

https://www.php.net/manual/ru/pdo.pr...statements.php
Liris вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг строки OmegaBerkut Visual C++ 3 06.09.2015 12:17
Преобразование строки в дату и сортировка выборки по полученной дате new player SQL, базы данных 5 12.02.2015 10:33
Обработка/разделение строки, полученной из AJAX hron66 JavaScript, Ajax 1 17.04.2013 16:35
Парсинг строки grafgrial Помощь студентам 14 17.01.2011 14:34
Парсинг строки beemoto Общие вопросы Delphi 18 12.04.2009 18:52