Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.61/59: Рейтинг темы: голосов - 59, средняя оценка - 4.61
Spyro
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 17
1

Ошибка Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future

10.11.2015, 15:22. Просмотров 11173. Ответов 25
Метки нет (Все метки)

Пытаюсь создать сайт: Но при создании магаза открывается ошибка:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u687656468/public_html/shop/config.php on line 30
Помогите пожалуйста)) Прошу))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2015, 15:22
Ответы с готовыми решениями:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli o
Здравствуйте! Сделал пример http://devcolibri.com/1486 со сборкой денвер...

Deprecated: mysql_connect(): The mysql extension is deprecated
Не могу понять почему не работает код: <?php $db_server =...

Deprecated: Function mysql_list_tables() is deprecated in Z:\home\localhost\www\list_tables.php on line 15
Выдает вот такой текст перед списком таблиц. Deprecated: Function...

Deprecated
Народ при открытии шаблона Joomla пишет такую ошибку(строк сто наверно от самой...

Deviceorientation event is deprecated on insecure origins (Chrome)
Получаю в хроме такое сообщение : Насколько я понял это что связанное с...

25
Jodah
Эксперт PHP
2709 / 2380 / 1014
Регистрация: 01.08.2012
Сообщений: 8,408
10.11.2015, 15:40 2
Так в ошибке всё написано:
Цитата Сообщение от Spyro Посмотреть сообщение
The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
mysql расширение устарело и будет удалено в будущем. Используйте mysqli или PDO.
0
Spyro
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 17
10.11.2015, 15:59  [ТС] 3
Ну а как тогда писать, я вроде писал, говорили про неправильные данные, вот та 30 строка:
$handle = mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Подключение к MySQL не удалось!');
Помогите переделать, буду признателен)
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
10.11.2015, 16:35 4
Spyro, если у тебя идёт подключение mysql, то везде по коду будут проблемы со старыми функциями. Если ты используешь объёртку, то поменяй её на более подходящую. А вообще нужно смотреть что у тебя и как..
0
Jodah
Эксперт PHP
2709 / 2380 / 1014
Регистрация: 01.08.2012
Сообщений: 8,408
10.11.2015, 16:40 5
Spyro, просто переделать под mysqli. Там функции схожие - mysqli_connect, mysqli_query и т.п., в документации всё есть с примерами.
0
Spyro
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 17
10.11.2015, 16:53  [ТС] 6
А, тоесть все функции с mySQL надо изменить на MySQLi?
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
10.11.2015, 17:00 7
Цитата Сообщение от Spyro Посмотреть сообщение
А, тоесть все функции с mySQL надо изменить на MySQLi?
теоретически некоторые функции уже устарели и не будут работать
0
Jodah
Эксперт PHP
2709 / 2380 / 1014
Регистрация: 01.08.2012
Сообщений: 8,408
10.11.2015, 17:02 8
Spyro, верно. Только синтаксис сверяйте. mysqli_connect четвёртым параметром принимает название БД, а mysqli_query первым параметром принимает ресурс соединения с БД.
1
Spyro
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 17
10.11.2015, 17:22  [ТС] 9
Как то это непонятно... Вот код, помогите:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
/*  BlockShop v0.8[FREE] - магазин блоков для DLE
    Скрипт: config.php (главный конфигурационный файл)
    @Konstantin773  от 17.07.2013   Продажа оригинального и модифицированного кода запрещена!!!
*/
if(!defined('BLOCKSHOP')){die("HACKING");}
session_start();
if(empty($_SESSION['name'])) $_SESSION['name'] = $member_id['name'];////переменная игрока в движке
///DLE-$member_id['name'],WebMCR-$player,Drupal-$user,JOOMLA-JFactory::getUser()/////
if(empty($_SESSION['mygroup']))$_SESSION['mygroup'] = $member_id['user_group'];///переменная группы в движке
$mysql_host = 'mysql.hostinger.ru';//хост
$mysql_user = 'u687656468_spyro';//юзер
$mysql_pass = 'Не скажу я вам пароль)) В файле у меня пароль есть.';//пароль
$mysql_db = 'u687656468_spyro';//база
$dir = 'shop/';///папка с данным скриптом (слэш в конце обязательно)
$blocks = 'sale';//таблица с блоками
$logs = 'logs';///таблица логов
$cart = array('GetItem','nickname','item_id','item_amount');///таблица плагина выдачи вещей(таблица, колонка имени, колонка id-блока, колонка кол-во)
///$cart = array('ShopCart','player','item','amount');///ShoppingCart
$eco = array('iConomy','username','balance');///игровая валюта(таблица, колонка имени, колонка баланса)
$real = array('dle_users','name','money');///реальная валюта(таблица, колонка имени, колонка баланса)
$s = array('HiTech','Magic','Galactic');///массив серверов(первое по умолчанию)
$cat = array('Все','Блоки','Инструменты','Еда','Оружие','Одежда','Предметы');///массив категорий (первое значение выводит все блоки)
$sklrub = array('рубль','рубля','рублей','руб');///склонение реальной валюты
$skleco = array('монета','монеты','монет','мон');///склонение игровой валюты
///СОЗДАНИЕ КНОПОК ИЗ МАССИВА///
for($i = 0, $size = count($s); $i < $size; ++$i) {$l='<option value="'.$s[$i].'">'.$s[$i].'</option>'; $serv .= $l;}
for($i = 0, $size = count($cat); $i < $size; ++$i) {$l='<option value="'.$cat[$i].'">'.$cat[$i].'</option>'; $cats .= $l;}
///СОЕДИНЕНИЕ С MYSQL///
$handle = mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Подключение к MySQL не удалось!');
mysql_select_db($mysql_db, $handle) or die($connect_error);
mysql_query("SET NAMES UTF8");
$username = $_SESSION['name'];
$group = $_SESSION['mygroup'];
////функции///
function skl($n,$s1){
    $m = $n % 10; $j = $n % 100;
    if($m==1) $s = $s1['0'];
    if($m>=2 && $m<=4) $s = $s1['1'];
    if($m==0 || $m>=5 || ($j>=10 && $j<=20)) $s = $s1['2'];
    return $n.' '.$s;
}
?>
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
10.11.2015, 19:05 10
Например так.. Это
PHP
1
2
3
$handle = mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Подключение к MySQL не удалось!');
mysql_select_db($mysql_db, $handle) or die($connect_error);
mysql_query("SET NAMES UTF8");
на это
PHP
1
2
$handle = new mysqli($mysql_host, $mysql_user, $mysql_pass, $mysql_db);
$handle->set_charset('utf8');
Добавлено через 58 секунд
Вот только это подключение и всё.. что-то особо рабочих запросов в этом коде нет
0
Spyro
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 17
10.11.2015, 19:18  [ТС] 11
Изменил... Но теперь такие ошибки(Их больше...):
Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u687656468/public_html/shop/servers.php on line 10

Warning: mysql_real_escape_string(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory") in /home/u687656468/public_html/shop/servers.php on line 10

Warning: mysql_real_escape_string(): A link to the server could not be established in /home/u687656468/public_html/shop/servers.php on line 10

Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u687656468/public_html/shop/servers.php on line 11

Warning: mysql_real_escape_string(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory") in /home/u687656468/public_html/shop/servers.php on line 11

Warning: mysql_real_escape_string(): A link to the server could not be established in /home/u687656468/public_html/shop/servers.php on line 11

Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u687656468/public_html/shop/servers.php on line 12

Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory") in /home/u687656468/public_html/shop/servers.php on line 12

Warning: mysql_query(): A link to the server could not be established in /home/u687656468/public_html/shop/servers.php on line 12

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/u687656468/public_html/shop/servers.php on line 13

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u687656468/public_html/shop/servers.php on line 14
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
10.11.2015, 20:01 12
Вот только это подключение и всё.. что-то особо рабочих запросов в это коде нет Spyro, так тебе об этом и говорили. Всё что mysql_ххх нужно менять на mysqli_ххх

При этом многие функции при добавлении i уже устарели и будут выдавать также ошибку. Менять нужно ВЕЗДЕ!
0
Jodah
Эксперт PHP
2709 / 2380 / 1014
Регистрация: 01.08.2012
Сообщений: 8,408
10.11.2015, 20:02 13
Цитата Сообщение от Spyro Посмотреть сообщение
Как то это непонятно... Вот код, помогите:
Что непонятно? Те же функции, только mysqli-драйвера. Открываете в документации старую функцию и ищете её аналог в mysqli.
Цитата Сообщение от Spyro Посмотреть сообщение
Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli
Та же ошибка, что и раньше - используется устаревшее расширение mysql. В mysqli есть аналог - mysqli_escape_string.
0
Madrid
4 / 45 / 2
Регистрация: 26.12.2009
Сообщений: 382
11.11.2015, 15:49 14
Я использую до сих пор mysql_
Просто не вывожу ошибки на продакшене совсем и все гуд:

PHP
1
2
ini_set('display_errors', 0);
error_reporting(0);
Или вызывать так:
PHP
1
$handle = @mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Подключение к MySQL не удалось!');
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
11.11.2015, 15:53 15
Цитата Сообщение от Madrid Посмотреть сообщение
Я использую до сих пор mysql_
Вопрос не в MySQL, а в отсталой технологии: медленнее, глючнее, и самое главное не безопасное.
Хотя если жить по принципу если не вижу, то этого нет....
0
Madrid
4 / 45 / 2
Регистрация: 26.12.2009
Сообщений: 382
11.11.2015, 16:00 16
Цитата Сообщение от GoDr Посмотреть сообщение
медленнее
Наоборот быстрее.

Цитата Сообщение от GoDr Посмотреть сообщение
глючнее
О каких глюках речь? Ни разу не встречал.

Цитата Сообщение от GoDr Посмотреть сообщение
не безопасное
Есть mysql_real_escape_string().
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
11.11.2015, 16:06 17
Madrid, даже спорить не буду. Запорожец тоже машина: ездит на бензине, есть руль и двери, светят фары

Ты хотя бы чуть окунись в PDO и поймёшь всё мощь..

Цитата Сообщение от Madrid Посмотреть сообщение
Есть mysql_real_escape_string().
Посмотри хотя бы что такое "подготовленные выражения". Это не только безопасность передачи данных. Это совершенно другой принцип работы с запросами.
0
Madrid
4 / 45 / 2
Регистрация: 26.12.2009
Сообщений: 382
11.11.2015, 17:19 18
Цитата Сообщение от GoDr Посмотреть сообщение
Посмотри хотя бы что такое "подготовленные выражения". Это не только безопасность передачи данных. Это совершенно другой принцип работы с запросами.
Вы писали, что mysql_ медленнее.
Так подготовленные выражения еще медленнее.
0
a-fw
Заблокирован
11.11.2015, 17:20 19
Цитата Сообщение от Madrid Посмотреть сообщение
Я использую до сих пор mysql_
до сих пор мануаль по php не прочитали? Прикольно..
0
GoDr
89 / 78 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
11.11.2015, 19:28 20
Цитата Сообщение от Madrid Посмотреть сообщение
Так подготовленные выражения еще медленнее.

В MySQL чтобы вставить 100 записей нужно выполнить 100 раз INSERT.
В PDO запрос формируется один раз, а потом просто отсылаешь данные..

Хотя в двух строчках не объяснить, это нужно читать. И слава богу документация есть и на русском и подробная
0
11.11.2015, 19:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2015, 19:28

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future
Здравствуйте! Сделал пример http://devcolibri.com/1486 со сборкой денвер...

Ошибка Deprecated: mysql_connect()
Недавно перенес сайт на хостингер и вылезла ошибка: Deprecated:...

<hash_map> is deprecated and will be REMOVED
Ругается на эту часть кода... Помогите, в чем причина, а #ifndef...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru