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

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

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

Ответ
 
Опции темы
Старый 06.06.2018, 08:06   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию Переход с mysgl на mysgli

Возникла такая проблема, писал php на mysgl, потом изменил настройки openserver с php 5.5 на php 7.2; mysgl 5.6 на mysgl 5.7.
Пропала база данных, но с откатом на старые настройки + перезагрузка она появилась.
Заменил mysgl на mysgli но возникли ошибки, вот тема с описанием настроек.
Подскажите как правильно всё прописать и, как вернуть БД с новыми настройками?
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 06.06.2018, 09:04   #2
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,271
Репутация: 912

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

надо взять и изучить синтаксис mysqli, в коде заменить все что нужно
БД при этом совершенно не при чем, как была она - так и есть
ADSoft вне форума   Ответить с цитированием
Старый 06.06.2018, 17:09   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

Вроде настроил всё.
Такая штука, на mysgl-5.6 работает, а на 5.7 пишет, что база не найдена.
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 06.06.2018, 17:25   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,613
Репутация: 5352
По умолчанию

Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Такая штука, на mysgl-5.6 работает, а на 5.7 пишет, что база не найдена.
в коде у Вас должно выполняться подключение к БД
( mysqli_connect() )
проверьте, выполняется ли оно, правильно ли передаются параметры, и сохраняете ли Вы при этом полученный link.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 06.06.2018, 18:27   #5
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

было сперва так
Код:

<?php
header('Content-Type: text/html; charset=utf-8');
$db_host		= 'mysait';
$db_user		= 'mysql';
$db_pass		= 'mysql';
$db_database	= 'base'; 

$link = mysql_connect($db_host,$db_user,$db_pass);

mysql_select_db($db_database,$link) or die("Нет соединения с БД ".mysql_error());
mysql_query("SET names utf8"); 
?>

Сделал так
Код:

<?php
$db_host		= 'mysait';
$db_user		= 'mysql';
$db_pass		= 'mysql';
$db_database	= 'base'; 

// Пытаемся соединиться
$link = new mysqli($db_host,$db_user,$db_pass,$db_database);

// Проверяем, удалось ли соединение
if (mysqli_connect_errno()) { 
    printf("Нет соединения с БД: %s\n", mysqli_connect_error()); 
    exit(); 
}

// Устанавливаем кодировку подключения
$link->set_charset('utf8');
?>

Если сменить mysgl-5.6 на 5.7 то базу не видит.
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 06.06.2018, 18:33   #6
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,613
Репутация: 5352
По умолчанию

Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Код:

// Пытаемся соединиться
$link = new mysqli($db_host,$db_user,$db_pass,$db_database);

// Проверяем, удалось ли соединение
if (mysqli_connect_errno()) { 
    printf("Нет соединения с БД: %s\n", mysqli_connect_error()); 
    exit(); 
}

попробуйте заменить на такой код:
Код:

// Пытаемся соединиться
$link = new mysqli($db_host,$db_user,$db_pass,$db_database);

// Проверяем, удалось ли соединение
if (!$link) { 
    printf("Нет соединения с БД: %s\n", mysqli_connect_error()); 
    exit(); 
}

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 06.06.2018, 18:39   #7
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

Код:

$db_host		= 'mysait';
$db_user		= 'mysql';
$db_pass		= 'mysql';
$db_database	= 'base'; 

// Пытаемся соединиться
$link = new mysqli($db_host,$db_user,$db_pass,$db_database);

// Проверяем, удалось ли соединение
if (!$link) { 
    printf("Нет соединения с БД: %s\n", mysqli_connect_error()); 
    exit(); 
}

// Устанавливаем кодировку подключения
/* $link->set_charset('utf8'); */

Warning: mysqli::__construct(): (HY000/1049): Unknown database 'base' in D:\OSPanel\domains\mysait\include\d b_connect.php on line 14

тут ошибка
Код:

$link = new mysqli($db_host,$db_user,$db_pass,$db_database);

__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 06.06.2018, 20:21   #8
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,613
Репутация: 5352
По умолчанию

говорит, что нет у Вас базы с именем 'base'

для начала я бы запустил на вашем сайте phpMyAdmin (если его нет - установить).
и там бы посмотрел, какие базы данных доступны.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 06.06.2018, 20:54   #9
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

Serge_Bliznykov, у меня установлен openserver внёс конечно же есть phpmyadmin, все прекрасно работает с mysgl-5.6, все видит и слышит), меняю в openserver настройки mysgl-5.7 и появляется ошибка.
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 06.06.2018, 21:05   #10
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,613
Репутация: 5352
По умолчанию

ну, не знаю.
пробуйте разобраться.
боюсь, что разобраться можно только на месте.
база 'base' точно есть?
попробуйте хост задать 'localhost'
Код:

$db_host = 'localhost';


Цитата:
Сообщение от spoon100500 Посмотреть сообщение
меняю в openserver настройки mysgl-5.7
а что Вы меняете в настройках?

попробуйте выключить вообще расширение mysql в конфигурации php
после этого откройте phpMyAdmin - он после этого заработает?

в конце концов, на OpenServer свет клином не сошёлся, локальных серверов вагон и маленькая тележка.
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переход на С++ 11 SAMOUCHKA Общие вопросы C/C++ 2 23.01.2017 20:08
переход с ХР на 7 Viktori-P Windows 4 16.02.2013 20:20
переход на С++ all_is_fear Общие вопросы C/C++ 5 26.11.2012 23:15
Переход на C Gapro Свободное общение 8 09.11.2009 14:02
Переход Gorychev PHP 6 26.05.2008 01:16


23:06.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru