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
Форумы портала PHP.SU :: Версия для печати :: Как перезаписать в БД на php 7.2
Форумы портала PHP.SU » » Работа с СУБД » Как перезаписать в БД на php 7.2

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

1. sotex2 - 20 Сентября, 2020 - 00:32:41 - перейти к сообщению
Подскажите, как сделать запрос к базе данных для перезаписи. код ниже работает на 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.  
2. LIME - 20 Сентября, 2020 - 09:57:15 - перейти к сообщению
https://www.php.net/manual/ru/fu....mysql-query.php
Цитата:
Внимание Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL.
3. sotex2 - 20 Сентября, 2020 - 12:54:26 - перейти к сообщению
знаю, что устарело и пробовал изменить MySQL на MySQLi, но там другую ошибку пишет, что некоректный запрос - $_POST[post_id]
4. LIME - 20 Сентября, 2020 - 13:26:51 - перейти к сообщению
этот нотис был всегда, но на предыдущей конфигурвции были отключены сообщения display_errors
$_POST[post_id] -> $_POST['post_id']
можно отключить на продакшене в конфиге php или в коде http://phpfaq[dot]ru/debug
но на машине разработки лучше оставить включенными и отлавливать
5. sotex2 - 20 Сентября, 2020 - 16:54:52 - перейти к сообщению
хотелось бы простой пример кода для перезаписи в базе данных на php > 7, что бы я смог подставить свои значения в коде. а такие слова как продакшин и др. мне ничего не подсказывают Закатив глазки .
6. Vladimir Kheifets - 21 Сентября, 2020 - 14:27:55 - перейти к сообщению
sotex2 пишет:
хотелось бы простой пример кода для перезаписи в базе данных на php > 7, что бы я смог подставить свои значения в коде. а такие слова как продакшин и др. мне ничего не подсказывают Закатив глазки .

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

 

Powered by ExBB FM 1.0 RC1