Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как перезаписать в БД на php 7.2

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
sotex2
Отправлено: 20 Сентября, 2020 - 00:32:41
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2019  


Помог: 0 раз(а)




Подскажите, как сделать запрос к базе данных для перезаписи. код ниже работает на php 5.6, а как сделать, чтобы код срабатывал в php 7.2

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <?php
  4. $db = mysql_connect("localhost", "логин", "(пароль?)");
  5.               mysql_select_db("название бд");
  6.               mysql_query("SET NAMES utf8");
  7.               $_POST[post_id] = mysql_real_escape_string($_POST[post_id]);
  8.               $_POST[version] = mysql_real_escape_string($_POST[version]);
  9.               $_POST[razmer] = mysql_real_escape_string($_POST[razmer]);
  10.               $_POST[data] = mysqli_real_escape_string($_POST[data]);
  11.              
  12.                   mysql_query("UPDATE wp_postmeta SET meta_value='$_POST[razmer]' WHERE meta_key='razmer' AND post_id='$_POST[post_id]'");
  13.                
  14.                   mysql_query("UPDATE wp_postmeta SET meta_value='$_POST[version]' WHERE meta_key='version' AND post_id='$_POST[post_id]'");
  15.  
  16.                   mysql_query("UPDATE wp_postmeta SET meta_value='$_POST[istochnik1]' WHERE meta_key='istochnik1' AND post_id='$_POST[post_id]'");
  17.                   mysql_query("UPDATE wp_postmeta SET meta_value='$_POST[istochnik2]' WHERE meta_key='istochnik2' AND post_id='$_POST[post_id]'");
  18.                    mysql_query("UPDATE wp_postmeta SET meta_value='$_POST[data]' WHERE meta_key='data' AND post_id='$_POST[post_id]'");
  19.                    ?>
  20.  
  21.  
  22.  
 
 Top
LIME
Отправлено: 20 Сентября, 2020 - 09:57:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




https://www.php.net/manual/ru/fu....mysql-query.php
Цитата:
Внимание Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL.
 
 Top
sotex2
Отправлено: 20 Сентября, 2020 - 12:54:26
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2019  


Помог: 0 раз(а)




знаю, что устарело и пробовал изменить MySQL на MySQLi, но там другую ошибку пишет, что некоректный запрос - $_POST[post_id]
 
 Top
LIME
Отправлено: 20 Сентября, 2020 - 13:26:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




этот нотис был всегда, но на предыдущей конфигурвции были отключены сообщения display_errors
$_POST[post_id] -> $_POST['post_id']
можно отключить на продакшене в конфиге php или в коде http://phpfaq[dot]ru/debug
но на машине разработки лучше оставить включенными и отлавливать
 
 Top
sotex2
Отправлено: 20 Сентября, 2020 - 16:54:52
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2019  


Помог: 0 раз(а)




хотелось бы простой пример кода для перезаписи в базе данных на php > 7, что бы я смог подставить свои значения в коде. а такие слова как продакшин и др. мне ничего не подсказывают Закатив глазки .
 
 Top
Vladimir Kheifets
Отправлено: 21 Сентября, 2020 - 14:27:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




sotex2 пишет:
хотелось бы простой пример кода для перезаписи в базе данных на php > 7, что бы я смог подставить свои значения в коде. а такие слова как продакшин и др. мне ничего не подсказывают Закатив глазки .

Добрый день!
Совсем упрощенно...
Вначале нужно в коде заменить "mysql_" на "mysqli_",
сделать правильно $db = mysqli_connect
затем заменить "mysqli_query(" на "mysqli_query($db,".
Далее, где вылезут ошибки, добавлять $db
Попробуй изменить Ваш код так:
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 21 Сентября, 2020 - 14:29:15)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB