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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2019, 19:06   #1
Gronik
Форумчанин
 
Аватар для Gronik
 
Регистрация: 02.10.2018
Сообщений: 107
Печаль 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
Gronik вне форума Ответить с цитированием
Старый 20.05.2019, 08:38   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

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

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
Gronik вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySQL Update WHERE MAX(id) Adult_Master SQL, базы данных 1 08.02.2019 20: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