Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.05.2019, 20:06   #1
Gronik
Форумчанин
 
Регистрация: 02.10.2018
Адрес: Нижний Новгород
Сообщений: 53
Репутация: 31
Печаль mysql UPDATE

Доброго всем времени суток уважаемые форумчане!!!
Подскажите пожалуйста начинающему.....
Нужно, чтобы юзер мог редактировать данные. В БД.
После всяких проверок пишу:
Код:

		$zam=new updata_arn($nlgh,$nmlh,$nmh,$id);
		$zamp=$zam->updat_ar();
		$zampr=mysql_query($zamp,$pdcl1);
		if(zampr){$zmp=1;}

Класс updata_arn:
Код:


class updata_arn{
	public $pid;
	public $plg;
	public $pem;
	public $pnm;
		public function __construct($plg,$pem,$pnm,$pid){
			$this->plg=$plg;
			$this->pem=$pem;
			$this->pnm=$pnm;
			$this->pid=$pid;
		}
			public function updat_ar(){
				mysql_query("set names utf8_general_ci");//Приводим кодировку в соответствие с требованиями ОSPenel.
				mysql_query("set character_set_server=utf8_general_ci");//Приводим кодировку в соответствие с требованиями ОSPenel.
				$zambd=sprintf("UPDATE `arn2_regus` SET `Login`=$this->plg,`emael`=$this->pem,`name`=$this->pnm WHERE ID=$this->pid LIMIT 1");// В этой строке  экранируем запрос к БД от вредного кода
				return $zambd;

После всего этого пишет, что все хорошо:$zmp=1;!!!! А в БД изменения не вносятся...... Где я не прав???
__________________
С уважением
Олег
Gronik вне форума   Ответить с цитированием
Старый 20.05.2019, 09:38   #2
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,396
Репутация: 914

icq: 303-206-418
skype: ad-soft.info
По умолчанию

да везде
1. расширение mysql умерло и осталось лишь в старых версиях php, лучше заранее переходите на mysqli
2. все действия с кодировками делаются один раз при подключении к БД, не надо потом при каждом апдейте их гонять
3.то что вы от "вредного" кода защищаетесь - это иллюзия, нужно использовать mysqli_real_escape.... функции, это как минимум
4. к сути - а вы посмотрите сам запрос который выполняете - и просто в phpmyadmin его ведите и посмотрите результат... я думаю или синтаксическая ошибка - типа emael ->email либо значения ID такие что ему обновлять нечего
ADSoft вне форума   Ответить с цитированием
Старый 22.05.2019, 19:52   #3
Gronik
Форумчанин
 
Регистрация: 02.10.2018
Адрес: Нижний Новгород
Сообщений: 53
Репутация: 31
По умолчанию

ADSoft!! Спасибо!!
И за mysqli_real_escape в том числе!!!
Внимательно просмотрел - действительно синтасис не верный.
Рабочий код
Код:

$zambd=sprintf("UPDATE `arn2_regus` SET `Login`='$this->plg', `emael`='$this->pem', `name`='$this->pnm' WHERE `ID`='$this->pid'");

mysql_real_escape_string - добавлю чуть позже.
И про действия с кодировками - СПАСИБО!!
__________________
С уважением
Олег
Gronik вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySQL Update WHERE MAX(id) Adult_Master SQL, базы данных 1 08.02.2019 21:39
MySQL Update условие Xameleon666 SQL, базы данных 20 01.10.2013 15:38
Php +MySql (функция UpDate) kirill555 PHP 10 20.08.2011 15:02
(MySQL) не срабатывает UPDATE в ZEOS ChySam БД в Delphi 4 16.06.2011 10:57


12:20.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru