powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Fatal error: in ***/Connect.php on line 11
16 сообщений из 41, страница 2 из 2
Fatal error: in ***/Connect.php on line 11
    #39658955
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
opiums,

с того же сервера, где пхпшные скрипты?
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658956
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Да, именно, и сайт который находится в соседней директории и использует ту же базу, но другие таблицы, работает исправно.
Кроме того, подключение происходит от того же пользователя, только используется обычное, устаревшее mysql подключение к БД.
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658967
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так Вы считаете что на стороне СУБД гарантировано нет проблем. Ну, хорошо. Тогда остается только pdo_mysql рассматривать. Либо он странным образом идет не на тот сервер, либо идет куда надо, но умудряется с ним не договориться на уровне протокола. Первое выясняется выше написал как. Ну а второе, возможно, описано уже где-то в багтрекере.
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658971
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь выяснить что же не так с PDO, нашёл вот такой тест:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
/*** mysql hostname ***/
$hostname = '192.168.1.7';
$database = 'craftedweb';
/*** mysql username ***/
$username = 'user';
/*** mysql password ***/
$password = 'pass';
try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** echo a message saying we have connected ***/
    echo 'Подключение удалось!';
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>


В итоге получил: Подключение удалось!
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658978
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Я в шоке!
скрипт заработал, после того, как я взял значения из теста, итого, сравниваем и находим ошибку.

Старый скрипт:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** echo a message saying we have connected ***/
    echo 'Подключение удалось!';
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }


Новый скрипт:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** echo a message saying we have connected ***/
    echo 'Подключение удалось!';
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658980
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка там кажется
Старый:
Код: php
1.
2.
3.
4.
5.
6.
try{
$db = new \PDO("mysql: host=$host; dbname=$dbname", $user, $password);
} 
catch (\Exception $e) {
var_dump($e->getMessage());
}


Новый:
Код: php
1.
2.
3.
4.
5.
6.
7.
try {
    $db = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658989
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эммм... Но оно не объясняет, почему старый код работал с СУБД на старом сервере MySQL и перестал с новым на MariaDB. А так... Пробелы в строке DSN повлияли?
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39658993
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Повлияли, ещё как. Если убрать пробелы, то и старый код начинает работать!
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659007
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
opiums,

Пробел перед host всё испортил
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659051
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще хотел про него написать сразу, но чет лень было.
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659056
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
opiums
Код: php
1.
new \PDO

Поясните, пожалуйста, обратный слэш перед PDO - это нормально?
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659074
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вполне, если используются пространства имен, то еще и полезно
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659076
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторFor functions and constants, PHP will fall back to global functions or constants if a namespaced function or constant does not exist.
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659086
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
opiumsПробел перед host всё испортилНедаром в мануале строка DSN без пробелов. Предположу, что параметр host из-за пробела не был распознан, и PDO спокойно использовал для подключения дефолтовый localhost. Что вполне подтверждает Ваш эксперимент с запуском скрипта на локальной по отношению к СУБД машине.

А так то мораль проста. Если ничего не помогает, следует внимательно прочитать инструкцию.
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659090
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгенийвполне, если используются пространства имен, то еще и полезно
Я бы сказал не "полезно", а "обязательно". Либо импортировать через use придется, иначе просто не найдет класс.
...
Рейтинг: 0 / 0
Fatal error: in ***/Connect.php on line 11
    #39659091
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если, конечно, нет такого класса в текущем неймспейсе.
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Fatal error: in ***/Connect.php on line 11
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]