Как мне подключить созданную БД к сайту
Пытаюсь подключить MySQL в консоли Ubuntu (Linux) в файле с сайтом на пхп (домашнее задание, а не рабочий проект).
Выдает ошибку когда захожу на сайт (вбиваю IP в браузер)
Попытка подключения не удалась.
Это похоже он не может подключиться к данным что я ввел, но они корректные, и БД с таким именем создана, в чем может быть проблема?
Снизу часть кода
<?php
// Database access definition
$dbname = "abook";
$dbserver = "192.168.56.101";
$dbuser = "abook";
$dbpass = "asdffdsA1";
$dbcnx = mysql_connect($dbserver,$dbuser,$dbpass);
if (!$dbcnx)
{
echo "<p>Попытка подключения не удалась MySQL</p>";
exit();
}
if (!mysql_select_db($dbname,$dbcnx) )
{
echo "<p>Выбрать базу данных невозможно</p>";
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Запрос неверен</p>";
exit();
}
echo mysql_result($ver, 0);
// Define table prefix
$table_prefix = "ab_";
// Don't display groups
$nogroups = false;
// Disable all "edit/create" actions.
$read_only = false;
Ответы (2 шт):
Автор решения: Rikky
→ Ссылка
Какая версия PHP? Попробуйте mysqli писать вместо mysql.
Привожу пример рабочего кода:
<?php
$link=mysqli_connect("HOST", "USER", "PASSWORD", "DBNAME", "DBPORT"); //подключаемся
$query = mysqli_query($link, "SQL-ЗАПРОС"); //выполняем любой запрос
//ну и гуглим команды mysqli, к примеру если запрос был SELECT и
//результат - несколько строк, то получаем их следующим образом:
$result = [];
while($row = mysqli_fetch_assoc($query)) { //пробегаемся по каждой строке
$result[] = $row; //записываем значение в массив
}
print_r($result); //тестируем - выводим массив
//если запрос не выводящий результат, такой как INSERT, то что то вроде
if (!$query) {
echo 'Не удалось выполнить запрос';
} else {
echo 'Запрос выполнен успешно';
}
?>
Потом уже, когда всё вышеописанное получится, можно углубляться и делать более грамотно, с выводом ошибок, выводом успешного результата в формате API (например JSON) и так далее. Успехов!
Автор решения: MarianD
→ Ссылка
6 возможностей:
- Или IP неправильное,
- или MySQL сервер во время вашего тестирования не работал,
- или сервер работает на нестандартном порте (т.е. не на 3306) - тогда нужно его добавить к IP адресу, например
$dbserver = "192.168.56.101:8888"; - или имя неправильное,
- или пароль неправильный,
- или общие проблемы с подключением к компьютеру-серверу (хардвер, TCP/IP софтвер — на пути от вашего компютера к серверу).