Адрес mysql в php

Работа с MySQL через PDO

Для создания подключения к серверу базы данных в PDO применяется конструктор new PDO() , который принимает в качестве параметров настройки подключения:

new PDO("mysql:host=адрес_сервера;port=номер_порта;dbname=имя_базы_данных", "имя_пользователя", "пароль")
  • Сначала указывается строка подключечения, которая состоит из ряда настроек. Первая настройка — название драйвера базы данных. Так, в данном случае подключение осуществляется к MySQL, то тип баз данных будет mysql: . Далее идет настройка host , которая задает хост сервера, например, host=localhost (если сервер MySQL запущен локально). Затем дополнительно можно указать номер порта через параметр port . Если он не указан, то используется порт по умолчанию — для mysql это 3306. И далее идет настройка dbname , которая устанавливает имя базы данных. Кроме этих настроек строка подключения может включать еще ряд других, но это самые основные.
  • Второй параметр задает имя пользователя MySQL
  • Третий параметр устанавливает пароль для выше указанного пользователя

При успешном подключении вызов конструктора new PDO() возвращает созданный объект PDO, который представляет установленное подключение и через который мы сможем взавмодействовать с базой данных. Однако если установка подключения прошла неудачно (например, сервер базы данных недоступен, указаны неправильные имя пользователя и/или пароль, какая-то еще ошибка), то вызов конструктора генерирует исключение. Соответственно вызов данного конструктора лучше помещать в конструкцию try..catch

Определим простейший скрипт для подключения к серверу базы данных MySQL:

 catch (PDOException $e) < echo "Connection failed: " . $e->getMessage(); > ?>

Здесь производится подключение к локальному серверу, поэтому в строке подключения параметр host имеет значение «localhost». Поскольку база данных пока не важна, то параметр dbname не указан. Подключение производится для пользователя — пользователя «root», для которого установлен пароль «mypassword».

«root» — это пользователь по умолчанию, который существует для сервера MySQL. А «mypassword» — пароль, установленный для этого пользователя. Естественно в каждом конкретном случае пароль для этого пользователя может отличаться. Однако если на сервере MySQL созданы другие пользователи, то можно указывать этих пользователей и их пароли.

При успешном подключении созданный объект PDO будет сохранен в переменную $conn , через которую мы затем сможем взаимодействовать с MySQL:

$conn = new PDO("mysql:host=localhost", "root", "mypassword");

Если произойдет ошибка, то будет сгенерировано исключение типа PDOException . Как и у других классов исключений с помощью метода getMessage() мы можем получить сообщение об ошибке.

Читайте также:  Php file get contents fatal error

И при успешном подключении мы увидим в браузере следующее сообщение:

А если произойдет ошибка, то браузер выведет сообщение об ошибке. Например, сообщение об ошибке при некорректном пароле:

Connection failed: SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES)

Установка режима вывода ошибок

Если при взаимодействии с MySQL произойдет ошибка, то, как правило, ожидается, что мы получим сообщение об ошибке. Однако реальное поведение зависит от редима вывода ошибок, который установлен для объекта PDO. Режим вывода ошибок задается с помощью атрибута PDO::ATTR_ERRMODE , который может принимать следующие значения:

  • PDO::ERRMODE_SILENT : PDO просто устанавливает код ошибки. Для получения которого и для получения информации об ошибке по которому необходимо было вызывать специальные методы. Поскольку при этом режиме необходимо вызывать дополнительные методы, то этот способ обычно рассматривался как не самый удобный. Он был значением по умолчанию до версии PHP 8.0.
  • PDO::ERRMODE_WARNING : PDO генерирует сообщение типа E_WARNING . Обычно применяется при отладке или тестировании
  • PDO::ERRMODE_EXCEPTION : PDO передает информацию об ошибке в объект PDOException, благодаря чему через блок catch в конструкции try..catch мы можем отловить ошибку и получить информацию об этом исключении. Этот режим применяется как режим по умолчанию начиная с версии PHP 8.0.

Если мы хотим получать информацию об ошибке через исключение PDOException и обрабатывать его в блоке catch , то нам нужно значение PDO::ERRMODE_EXCEPTION . В PHP 8.0 и выше это значение применяется по умолчанию, однако, если версия ниже 8.0, то необходимо это значение установить явным образом с помощью метода setAttribute() объекта PDO:

try < $conn = new PDO("mysql:host=localhost", "root", "mypassword"); // установка режима вывода ошибок $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Database connection established"; > catch (PDOException $e) < echo "Connection failed: " . $e->getMessage(); >

Закрытие подключения

После завершения работы скрипта PHP автоматически закрывает открытые подключения к базе данных. Но может потребоваться закрыть подключение еще в процессе работы скрипта. В этом случае объекту PDO можно присвоить значение null :

$conn = null; // отключаемся от сервера базы данных

Источник

mysql_get_server_info

Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:

Читайте также:  React map array typescript

Описание

Возвращает версию сервера MySQL.

Список параметров

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect() . Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING .

Возвращаемые значения

Возвращает версию сервера MySQL в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_get_server_info()

$link = mysql_connect ( ‘localhost’ , ‘mysql_user’ , ‘mysql_password’ );
if (! $link ) die( ‘Ошибка соединения: ‘ . mysql_error ());
>
printf ( «Версия сервера MySQL: %s\n» , mysql_get_server_info ());
?>

Результатом выполнения данного примера будет что-то подобное:

Версия сервера MySQL: 4.0.1-alpha

Смотрите также

  • mysql_get_client_info() — Возвращает данные о MySQL-клиенте
  • mysql_get_host_info() — Возвращает информацию о соединении с MySQL
  • mysql_get_proto_info() — Возвращает информацию о протоколе MySQL
  • phpversion() — Получает текущую версию PHP

User Contributed Notes 3 notes

An alternative to mysql_get_client_info() is to use the VERSION() function in MySQL language like:

$query = mysql_query ( «SELECT VERSION() as mysql_version» );
?>

The output is the same as mysql_get_client_info()

Here is something I put together because I needed a way to pull the MySQL version number from the server without actually having a connection. This was due to being part of a server info screen prior to installation of a cms. Users need to know if their MySQL is supported or not prior to installation right? 🙂

This will scrape the phpinfo page looking for the MySQL row that says Client API version and return the version number after it. This could also be used to scrape just about anything from the phpinfo page. 🙂

ob_start();
phpinfo(INFO_MODULES);
$info = ob_get_contents();
ob_end_clean();
$info = stristr($info, ‘Client API version’);
preg_match(‘/2.8.11/’, $info, $match);
$gd = $match[0];
echo ‘MySQL: ‘.$gd.’
‘;

This will output:
MySQL: 4.1.22 (which is the version on my server)

I know this is crude but it’s the only thing I could come up with and there isn’t anything like this info available online so here it is. I suck at preg_match and it would be helpful if someone could modify the string here to stand the test of time.

Читайте также:  Typescript in 50 lessons pdf

mysql_connect ( ‘localhost’ , ‘user’ , ‘password’ ) or
die( ‘Could not connect: ‘ . mysql_error ());
$a = mysql_get_server_info ();
$b = substr ( $a , 0 , strpos ( $a , «-» ));
echo $b ;
?>

  • MySQL
    • mysql_​affected_​rows
    • mysql_​client_​encoding
    • mysql_​close
    • mysql_​connect
    • mysql_​create_​db
    • mysql_​data_​seek
    • mysql_​db_​name
    • mysql_​db_​query
    • mysql_​drop_​db
    • mysql_​errno
    • mysql_​error
    • mysql_​escape_​string
    • mysql_​fetch_​array
    • mysql_​fetch_​assoc
    • mysql_​fetch_​field
    • mysql_​fetch_​lengths
    • mysql_​fetch_​object
    • mysql_​fetch_​row
    • mysql_​field_​flags
    • mysql_​field_​len
    • mysql_​field_​name
    • mysql_​field_​seek
    • mysql_​field_​table
    • mysql_​field_​type
    • mysql_​free_​result
    • mysql_​get_​client_​info
    • mysql_​get_​host_​info
    • mysql_​get_​proto_​info
    • mysql_​get_​server_​info
    • mysql_​info
    • mysql_​insert_​id
    • mysql_​list_​dbs
    • mysql_​list_​fields
    • mysql_​list_​processes
    • mysql_​list_​tables
    • mysql_​num_​fields
    • mysql_​num_​rows
    • mysql_​pconnect
    • mysql_​ping
    • mysql_​query
    • mysql_​real_​escape_​string
    • mysql_​result
    • mysql_​select_​db
    • mysql_​set_​charset
    • mysql_​stat
    • mysql_​tablename
    • mysql_​thread_​id
    • mysql_​unbuffered_​query

    Источник

    PHP подключение к MySQL

    В рамках материала приведен простейший скрипт, позволяющий проверять PHP подключение к MySQL.

    Из PHP к MySQL обращение идет через функцию mysql_connect или mysqli_connect. Можно также тестировать если подключение из консоли сервера выполняя команду mysql -h HOST -u USERNAME -pPASSWORD, это может быть удобнее делать PHP скриптом.

    PHP подключение к MySQL

    Тестовый скрипт для проверки возможности подключения — в скрипте используется PHP функция mysql_connect, а также функции mysql_select_db и mysql_query:


    $dblocation = ‘ip адрес сервера баз данных’;
    $dbname = ‘имя базы’;
    $dbuser = ‘имя пользователя БД’;
    $dbpasswd = ‘пароль пользователя’;
    $dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd);
    if (!$dbcnx)

    echo ‘

    Попытка подключения не удалась MySQL

    ‘;
    exit();
    >
    if (!mysql_select_db($dbname,$dbcnx) )

    echo ‘

    Выбрать базу данных невозможно

    ‘;
    exit();
    >
    $ver = mysql_query(‘SELECT VERSION()’);
    if(!$ver)

    echo ‘

    Запрос неверен

    ‘;
    exit();
    >
    echo mysql_result($ver, 0);
    ?>

    В скрипте использована функция mysql_connect, она есть в версии PHP 5.6 и раньше, для более свежих версий нужно заменить имя функции на mysqli_connect.

    Скрипт размещается в корне сайта, например под именем testdb.php к нему нужно обратиться из браузера по домену и имени скрипта от корня.

    Пример и результат показаны на скриншоте.

    php подключение к mysql

    В случае успеха возвращается версия MySQL-сервера. Чтобы скрипт выполнялся на MySQL сервере должна быть активирована возможность подключения из вне (если используется не localhost).

    Подключение может не происходить по ряду очевидных причин: не существует базы данных, не существует пользователя базы данных или у него не хватает привилегий для работы с базой, вводится неверный пароль, нет нужных расширений в PHP.

    Также может не функционировать и сам сервер MySQL.

    Проверить сам сервер MySQL, реквизиты доступа и привилегии можно подключившись к серверу из консоли. Процесс показан в статье про создание пользователя MySQL

    Источник

Оцените статью