Подключение к mysql

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

В этом руководстве описывается следующие три метода вместе с соответствующей программой примера на PHP, которая объяснит, как подключиться с помощью PHP к базе данных MySQL.

  • Подключение с помощью расширения Mysqli (рекомендуется)
  • Подключение с помощью PDO (рекомендуется)
  • Подключение с помощью традиционных функций устаревших mysql_ (устар)

Для этого необходимо установить пакет PHP-MySQL.

На основе дистрибутива RedHat включая CentOS, использовать yum для установки PHP-MySQL, как показано ниже.

yum install php-mysql

 

В зависимости от вашей системы, выше будем устанавливать или обновлять следующие зависимости:

  • php
  • php-cli
  • php-common
  • php-pdo
  • php-pgsql

После того, как все установлено, страница phpinfo будет отображать MySQL модуль, как показано ниже:
Расширение PHP и MySQL

Для всех приведенных ниже примеров, мы будем подключаться к базе данных MySQL, которая уже существует. Если вы новичок в MySQL, это хорошее место, чтобы начать: MySQL – Руководство для начинающих.

Примечание: Все, что описано здесь также будет работать с MariaDB, как это работает на MySQL.

1. Подключение на PHP с использованием расширения Mysqli

Содержание

MySQLi означает MySQL Improved.

Обратите внимание, что в большинстве дистрибутивов (например: CentOS), PHP-MySQLi уже является частью пакета PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-MySQLi. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение Mysqli на вашей системе.

Создайте следующий файл mysqli.php в DocumentRoot вApache:

<?php  $conn = new mysqli("localhost", "root", "mySecretDBpass", "andreyex");    if ($conn->connect_error) {  die("Ошибка: не удается подключиться: " . $conn->connect_error);  }    echo 'Подключение к базе данных.<br>';   $result = $conn->query("SELECT name FROM employee");   echo "Количество строк: $result->num_rows";   $result->close();   $conn->close(); ?>

 

В приведенном выше:

  • MySQLi – Эта функция будет инициировать новое соединение, используя расширение Mysqli. Эта функция будет принимать четыре аргумента:
    1. Имя хоста, где база данных MySQL работает
    2. Имя пользователя для подключения MySQL
    3. Пароль для пользователя mysql
    4. База данных MySQL для подключения.
  • Функция запроса – Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец имени из базы данных employee.
  • Наконец, мы отображаем количество строк, выбранных с помощью переменной num_rows. Мы также закрываем соединение, как показаны выше.

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

Подключение к базе данных. Количество строк: 4

 

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

2. Подключение при помощи PHP к MySQL с расширением PDO

PDO означает PHP Data Objects.

PDO_MYSQL реализует интерфейс PDO, предоставляемый РНР для подключения программы к базе данных MySQL.

В большинстве дистрибутивов Linux (например, CentOS и RedHat), PHP-PDO пакет уже входит в пакет PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-PDO. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение PDO_MYSQL PHP в вашей системе.

Создайте следующий файл MySQL-pdo.php в вашим Apache DocumentRoot:

<?php  try {  $conn = new PDO("mysql:host=localhost;dbname=andreyex", "root", "mySecretDBpass");   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  echo 'Подключение к базе данных.<br>';   $sql = 'SELECT name FROM employee';    print "Имя Сотрудника:<br>";  foreach ($conn->query($sql) as $row) {  print $row['name'] . "<br>";  }  $conn = null;   }  catch(PDOException $err) {  echo "Ошибка: не удается подключиться: " . $err->getMessage();  } ?>

 

В приведенном выше:

  • новый PDO – Создаст новый объект PDO, который будет принимать следующие три аргумента:
    1. Строка подключения MySQL: будет в формате “mysql:host=$hostname;dbname=$dbname”. В приведенном выше примере, БД работает на локальном хосте, и мы подключаемся к базе данных andreyex.
    2. Имя пользователя для подключения к MySQL.
    3. Пароль для пользователя mysql.
  • $sql variable – создание запроса SQL, который вы хотите выполнить. В этом примере, мы выбираем столбец name из таблицы employee.
  • query($sql) – здесь мы выполняем SQL запрос, который мы только что создали.
  • foreach – вот здесь мы пробегаем по вышеуказанным командам и сохраняем их в переменной строке $, а затем мы показываем их с помощью команды печати.
  • В MySQL PDO, чтобы закрыть соединение, просто обнулите значение переменной $conn.

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

Подключение к базе данных. Имя Сотрудника: AndreyEx Ruslan Maria Oleg

3. Подключение на PHP с использованием функций mysql_ (устар)

Используйте этот метод, только если вы используете более старую версию PHP и не можете обновить ее до новой версии по какой-то причине.

Рекомендуется использовать метод #2 и #3, показанный выше, вместо этого метода. Я включил этот метод только для справки, а не как рекомендация к использованию.

Это устаревшее расширение PHP 5.5 версии. Но начиная с PHP 7.0 версии, это не будет работать, так как она была удалена.

Начиная с PHP 5.5 версии, когда вы используете эти функции, они будет генерировать ошибку E_DEPRECATED.

Создайте следующий файл MySQL-legacy.php под Apache DocumentRoot:

<?php $conn = mysql_connect('localhost', 'root', 'mySecretDBpass'); mysql_select_db("andreyex"); if (!$conn) { die('Ошибка: не удается подключиться: ' . mysql_error()); }  echo 'Подключение к базе данных.<br>';  $result = mysql_query('SELECT name FROM employee');  $row = mysql_fetch_row($result); echo "Сотрудник 1: ", $row[0], "<br>n";  mysql_close($conn); ?>

 

В приведенном выше:

  • Функция mysql_connect принимает три аргумента: 1) имя хоста, где база данных MySQL работает, 2) Имя пользователя для подключения к MySQL, 3) Пароль для пользователя MySQL. Здесь подключаемся к базе данных MySQL, которая выполняется на локальном сервере, используя имя пользователя root и его пароль.
  • Функция mysql_select_db – Как следует из названия, будет выбирать базу данных, к которой вы хотите подключиться. Это эквивалентно команде «use». В этом примере мы подключаемся к базе данных andreyex.
  • Функция mysql_query – Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец name из базы данных employee.
  • mysql_fetch_row – используйте эту функцию для извлечения строк из запроса SQL, который мы только что создали.
  • Наконец закрыть соединение с помощью команды mysql_close, как показано выше.

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

Подключение к базе данных. Сотрудник 1: AndreyEx

 

andreyex.ru

Эта статья для тех, кто впервые столкнулся с необходимостью установить удаленное соединение с базой данных MySQL. В статье рассказывается о сложностях, которые могут возникнуть при настройке удаленного соединения и о методах их преодоления.

Как установить соединение с удаленной базой?
Для установления удаленного соединения нужно указать параметры, характеризующие устанавливаемое подключение. Это

* —host
* —protocol
* —port

Из четырех возможных протоколов удаленное подключение позволяет только TCP/IP, поэтому первым требованием является доступность компьютера из сети по TCP/IP. Далее необходимо добавить имя хоста (или ip адрес машины, на которой расположена база) в строке подключения:
mysql —host=host_name Обратите внимание, что указание в качестве имени хоста значения localhost (или же отсутствие такого параметра, что то же самое, так как это дефолтное значение) приводит к обращению на локальную машину.

Учтите, что параметры имеют две формы записи: длинную и короткую. В свою очередь, если параметр имеет значение (как например, в случае хоста необходимо указать имя хоста к которому нужно подключиться), то короткая форма записи может использоваться с пробелом или без (исключением из этого правила является пароль). Таким образом, следующие три записи являются эквивалентными:

* mysql —host=myhost.ru
* mysql -h myhost.ru
* mysql -hmyhost.ru

Как настроить соединение с удаленной базой?

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

Например, если я хочу создать юзера, который сможет коннектиться с любого хоста с полными правами, то следует выполнить следующую команду:
GRANT ALL PRIVILEGES ON `имя_базы`.* TO myuser@% IDENTIFIED BY ‘пароль’;

Примечание. Обратите внимание, что данная команда дает доступ пользователю myuser со всех IP кроме 127.0.0.1, соответсвующего localhost.
Для пользователя myuser@localhost необходимо давать права отдельной командой GRANT.

Если вы решите обратиться к локальной машине как к удаленной, используя протокол TCP/IP, то не забывайте, что myuser@localhost и myuser@ip_собственного_компа это разные пользователи и каждому из них права нужно давать отдельной командой.

Второй пример показывает как дать право читать таблицу time_zone в базе mysql пользователю myuser с машины 192.168.0.76 с паролем mypassy:
GRANT SELECT ON mysql.time_zone TO [email protected] IDENTIFIED BY ‘mypassy’;
Возникающие сложности

Если после всех действий у вас возникает ошибка (Can’t connect to Mysql Server on ‘ваш IP'(10061)), значит соединение блокирует firewall (windows firewall, outpost, антивирус или еще что-то).

Если возникает ошибка (Client does not support autentification protocol request by server; consider upgrading MySQL client), клиент (то есть ваша программа) не поддерживает требуемый сервером протокол.
Эту ошибку можно исправить, установив пароль старого формата:
SET PASSWORD FOR user@host = OLD_PASSWORD(‘password’);

Еще по теме:   Что такое RDS бар?

www.internet-technologies.ru

1) старый дедовский способ подключения к MySQL:

$conn=mysql_connect($db_hostname, $db_username, $db_password) or die ("Нет подключения к серверу");
mysql_select_db($db_database,$conn) or die ("Нет удалось соединиться с БД");

— пояснения к переменным ниже.

При этом используются функции:

  • mysql_connect() — для подключения к серверу;
  • mysql_select_db() — для подключения к БД;

При этом постоянно проверяем на наличие ошибки таким способом: or die («Ошибка такая то»); — переводится как или умри с такой-то ошибкой — чтобы сразу найти где ошибка.

Пример соединения с БД на php с выборкой из таблицы

config.php

// переменные для соединения с БД
$host = 'localhost'; / хост
$username = 'root'; // пароль для подключения к БД
$password = ''; // пароль для подлючения к базе данных - на локальном компьютере он может иметь пустое значение.
$database_name = 'my-dolgi'; // имя БД

// старый способ соедения с БД
mysql_connect($host, $username, $password) or die("Не могу соединиться создать соединение");

// выбрать БД. Если ошибка - вывести
mysql_select_db($database_name) or die(mysql_error());

index.php

require_once 'config.php';

// Выполнить запрос. Если ошибка - выводим
$result = mysql_query('SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5') or die(mysql_error());

echo "Кому я должен по убыванию: <br><br>";

// Выборка результатов запроса
while ( $row = mysql_fetch_assoc($result) ) {
echo $row['Name'] . " с долгом " . $row['Money'] . " рублей.<br>";
}

// освобождение используемой памяти
mysql_free_result($result);

// Закрываем соединение
mysql_close();

2) Более прогрессивный процедурный стиль — соединение с БД при помощи mysqli:

Данный способ:

  1. удобнее;
  2. быстрее до 40 раз;
  3. повышена безопасность;
  4. есть новые возможности и функции;

Пример соединения с БД на php с выборкой из таблицы

config.php


// соедения с БД
$link = mysqli_connect('localhost', 'username', 'password', 'name-database'); // тут вводим прям данные ваши: имя юзера, пароль и имя БД, первое поле обычно localhost

// вывод ошибки соединения
if (!$link) {
echo "Ошибка подключения к БД. Код ошибки: " . mysqli_connect_error();
exit;
}

!!! Обратите внимание — везде используется mysqli , а не mysql !!!

index.php

require_once 'config.php';

// Выполнить запрос. Если ошибка - выводим
if ($result = mysqli_query($link, 'SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5')) {

echo "Кому я должен по убыванию: <br><br>";

// Выборка результатов запроса
while ( $row = mysqli_fetch_assoc($result) ) {
echo $row['Name'] . " с долгом " . $row['Money'] . " рублей.<br>";
}

// освобождение используемой памяти
mysqli_free_result($result);

// Закрываем соединение
mysqli_close($link);
}

Как видим, некоторые моменты поменялись (выделены курсивом).

3) Объектно-ориентированный метод подключения к бд MySQL — с помощью методов и классов:

Минусы: сложнее и менее восприимчив к ошибкам.

Плюсы: краткость и удобство для программистов с опытом.

$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);
if($conn->connect_errno){
die($conn->connect_error);
} else {echo "Соединение с БД успешно установлено";}

тут в принципе все интуитивно понятно:

  • $db_hostname — это хост (в основном localhost),
  • $db_database — имя БД;
  • $db_username и $db_password — имя пользователя и пароль соответственно!

Пример соединения с БД на php стиль ООП с выборкой из таблицы

config.php


// соедения с БД
$mysqli = new mysqli ('localhost', 'username', 'password', 'name-database'); // тут вводим прям данные ваши: имя юзера, пароль и имя БД, первое поле обычно localhost

// вывод ошибки соединения
if ($mysqli->connect_error) {
die ('Ошибка подключения к БД: ( ' . $mysqli->connect_errno . ') ' . mysqli_connect_error );
}

!!! Обратите внимание — везде используется mysqli , а не mysql !!! и в отличие от предыдущего метода появляются стрелочки «->», которые показывают, что это стиль ООП.

index.php

require_once 'config.php';

// Выполнить запрос. Если ошибка - выводим
if ($result = $mysqli->query('SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5')) {

echo "Кому я должен по убыванию: <br><br>";

// Выборка результатов запроса
while ( $row = $result->fetch_assoc() ) {
echo $row['Name'] . " с долгом " . $row['Money'] . " рублей.<br>";
}

// освобождение используемой памяти
$result->close();

// Закрываем соединение
$mysqli->close();
}

Задание вам такое — найти отличия.

4) Связь с БД при помощи PDO :

При соединении с базой данных MySQL используются подготовленные выражения(методом prepare) и в результате большая безопасность и сильно увеличивает быстродействие.

config файл от предыдущего метода! — такой же

index.php

// PDO стиль для связи с MySQL
if ($stmt = $mysqli->prepare("SELECT Name, Voney FROM Dolg ORDER BY Money < ? LIMIT 5")) {

$stmt->bind_param("i", $summa);
$summa = 100000;

//запускаем выполнение
$stmt->execute();

// Объявление переменных для заготовленных значений
$stmt->bind_result($col1, $col2);

echo "Кому я должен по убыванию: <br><br>";

// Выборка результатов запроса
while ( $stmt->fetch() ) {
echo $col1 . " с долгом " . $col2 . " рублей.<br>";
}

// освобождение используемой памяти
$stmt->close();

// Закрываем соединение
$mysqli->close();

}

Как видим, тут намного сложнее и надо изучать PDO — это отдельная тема.

saitsozdanie.ru

Если вы углубленно занимаетесь программированием, то вам никак не обойтись без запросов к базе данных. Этой темы можно коснуться даже на этапе создания сайта на WordPress, где вы указываете данные для подключения. Примером этой статьи послужит более сложный пример – удаленное подключение к БД на PHP.

Допустим, у нас имеется локальная сеть из нескольких компьютеров. Один из них будет являться сервером, потому как именно на нем будет храниться вся информация и впоследствии производимых действий изменяться. Другие же компьютеры должны также производить взаимодействия с этой базой, чтобы изменения не были локальными и были доступны для каждого оператора в независимости от используемого ПК.

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

mysql_connect("хост","пользователь","пароль");

Но перед этим вам понадобится проделать несколько действий по разрешению доступа к базе данных извне, т.е. за пределами хоста 127.0.0.1. Необходимо создать нового пользователя базы данных и присвоить ему все необходимые права доступа. У меня база создавалась в «Navicat lite for MySQL», поэтому ниже скрины на его примере:

Также необходимо открыть всем доступ в MySQL в файле my.ini. В нем ищем строку:

bind-adress = ""

И вместо 127.0.0.1 ставим значение 0.0.0.0, тем самым разрешая всем подключаться к БД. Дальше нам потребуется решить проблему с блокировкой брандмауэра, если таковая присутствует. Если у вас нет антивирусной программы, значит идем в панель управления->брандмауэр Windows и изменяем «Дополнительные параметры» создавая новое правило на порт 3306(стандартный порт MySql, если при установке меняли, значит открываем свой). Если же стоит антивирус, то создаем правило именно в нем, точно так же открывая необходимый для нас порт. Либо же можно просто разрешить производить любые действия определенной машине, добавив её адрес в исключения(лично я так и сделал). После этого ваш код должен заработать:

mysql_connect("192.168.0.10","user","password") or die("Что-то пошло не так".mysql_errno());

myfreelanceblog.net

Настройка свойств сервера MySQL

IDE NetBeans поставляется с включенной поддержкой для MySQL RDBMS. До получения доступ к серверу баз данных MySQL в IDE NetBeans, необходимо настроить свойства сервера MySQL.

  1. Щелкните правой кнопкой мыши узел Databases ("Базы данных") в окне Services ("Службы") и выберите Register MySQL Server ("Зарегистрировать MySQL") для открытия диалогового окна свойств сервера MySQL.
    Диалоговое окно &quot;Свойства сервера MySQL&quot;: базовые свойства
  2. Убедитесь, что имя узла и порт сервера указаны правильно.

    Обратите внимание, что среда IDE вводит localhost как имя узла сервера по умолчанию и 3306 как номер порта сервера по умолчанию.

  3. Введите имя администратора (если оно не отображается).

    Примечание. Необходим доступ с правами администратора, чтобы иметь возможность создавать и удалять базы данных.

  4. Введите пароль администратора. По умолчанию установлено пустое значение.

    Примечание. Пустой пароль является допустимым.

  5. Нажмите вкладку "Свойства администратора" в верхней части диалогового окна.

    Отобразится соответствующая вкладка, предоставляющая возможность ввода сведений для управления сервером MySQL.

  6. В поле "Путь/URL-адрес к средству администрирования" введите путь к средству администрирования MySQL (например, MySQL Admin Tool, PhpMyAdmin или другому подходящему веб-средству) или найдите его при помощи кнопки "Обзор".

    Примечание. mysqladmin является инструментов администрирования MySQL, который находится в папке bin каталога установки MySQL. Это средство командной строки не подходит для использования в среде IDE.

    Введите аргументы для средства администрирования в соответствующее поле.

  7. В поле "Путь к команде запуска" введите соответствующий путь MySQL или найдите его при помощи кнопки "Обзор". Для получения команды запуска найдите файл mysqld в папке bin каталога установки MySQL.

    Примечание. Рекомендуемый двоичный файл для Unix и NetWare: mysql_safe. Также может потребоваться другая команда запуска при установке MySQL в составе установки AMP.

    Введите значение аргументов для команды запуска в соответствующее поле.

  8. В поле "Путь к команде остановки" введите путь к команде остановки MySQL или найдите его при помощи кнопки "Обзор". Обычно требуется ввести путь к файлу mysqladmin в папке bin каталога установки MySQL. При использовании команды mysqladmin введите -u root stop в поле "Аргументы" для получения прав пользователя root на остановку сервера.
  9. На рисунке ниже изображен внешний вид вкладки "Свойства администратора" по завершении настройки. Если настройка выполнена корректно, нажмите кнопку "ОК".

    Диалоговое окно &quot;Свойства сервера MySQL&quot;: свойства администрирования

Запуск сервера MySQL

Перед попыткой подключения к серверу базы данных MySQL необходимо убедиться в том, что он запущен на компьютере. Если сервер базы данных не подключен, вы увидите (disconnected) рядом с именем пользователя в узле MySQL Server в окна ‘Служба’ и не сможете развернуть узел.

Для подключения к серверу баз данных убедитесь, что сервер базы данных MySQL запущен на компьютере, щелкните правой кнопкой мыши ‘Базы данных’ > узел ‘MySQL Server’ в окне ‘Службы’ и выберите ‘Подключить’. Может отобразиться запрос на ввод пароля для подключения к серверу.

Сервер базы данных MySQL запущен

После подключения сервера вы сможете развернуть узел MySQL Server и просмотреть все доступные базы данных MySQL.

Создание экземпляра базы данных и подключение к ней

Редактор SQL является широко распространенным способом взаимодействия с базами данных. Для этого в IDE NetBeans имеется встроенный редактор SQL. Обычно редактор SQL доступен с помощью параметра ‘Выполнить команду’ из контекстного меню узла подключения (или дочерних узлов узла подключения). После установления подключения к серверу MySQL, можно создать новый экземпляр базы данных в редакторе SQL. Для продолжения работы с данным учебным курсом создайте экземпляр с именем MyNewDatabase:

  1. В окне ‘Службы’ среды IDE щелкните правой кнопкой мыши узел сервера MySQL Server и выберите ‘Создать базу данных’.

    Откроется диалоговое окно "Создание базы данных MySQL".

  2. В диалоговом окне "Создание базы данных MySQL" введите имя новой базы данных. В этом учебном курсе используется имя MyNewDatabase. Не устанавливайте флажок. Диалоговое окно создания базы данных MySQL

    Примечание. Также определенному пользователю можно предоставить полный доступ. По умолчанию только администратор обладает правами на выполнение определенных команд. Раскрывающийся список позволяет присваивать эти права определенным пользователям.

  3. Нажмите кнопку "ОК".

    В узле "Сервер MySQL" окна "Службы" будет выведена новая база данных.

  4. Щелкните узел новой базы данных правой кнопкой мыши и выберите ‘Подключение’, чтобы установить соединение с базой данных.

    Открытые подключения к базе данных отображаются в узле ‘Установленные подключения’ (значок узла установленных подключений) в окне ‘Службы’.

Создание таблиц баз данных

После установления подключения к базе данных MyNewDatabase можно начинать изучение принципов создания таблиц, заполнения их данными и изменения данных в таблицах. Благодаря этому для пользователей обеспечивается возможность более глубокого анализа функций проводника баз данных, а также поддержки IDE NetBeans файлов SQL.

База данных MyNewDatabase в настоящее время пуста. В среде IDE таблицу базы данных можно добавить при помощи диалогового окна "Создание таблицы" или посредством ввода запроса SQL и его запуска напрямую из редактора SQL. Можно использовать оба метода.

  1. Использование редактора SQL
  2. Использование диалогового окна "Создание таблицы"

Работа с данными в таблице

Для работы с табличными данными можно использовать редактор SQL в IDE NetBeans. Выполняя запросы SQL в базе данных, можно добавлять, изменять и удалять данные в структурах баз данных. Для добавления новой записи (строки) в таблицу Counselor необходимо выполнить действия, описываемые ниже.

  1. Выберите элемент "Выполнение команды" в папке "Таблицы" проводника баз данных. В главном окне редактора SQL отобразится пустой холст.
  2. В редакторе SQL введите следующий запрос.
    INSERT INTO Counselor VALUES (1, 'Ricky', '"The Dragon"', 'Steamboat','334 612-5678', '[email protected]', '1996-01-01')
  3. Чтобы выполнить запрос щелкните правой кнопкой мыши в редакторе SQL Editor и выберите ‘Выполнить оператор’. В окне "Вывод" будет выведено сообщение об успешном выполнении запроса.
  4. Чтобы убедиться, что новая запись добавлена к таблице Counselor в проводнике баз данных щелкните правой кнопкой мыши узел таблицы Counselor и выберите ‘Просмотреть данные’. В главном окне редактора SQL откроется новая панель. При выборе команды "Просмотреть данные" в верхней части окна редактора SQL автоматически создается запрос на выбор всех данных таблицы. Результаты выполнения оператора отображаются в представлении таблицы в нижней части окна. В рассматриваемом примере будет отображена таблица Counselor. Обратите внимание, что новая строка была добавлена с данными, предоставленными в запросе SQL.

    новая запись добавлена к таблице Counselor

Выполнение сценария SQL

Другим способом управления табличными данными в IDE NetBeans является запуск внешнего сценария SQL напрямую в IDE. Если сценарий SQL был создан в другом местоположении его можно просто открыть в IDE NetBeans и запустить его в редакторе SQL.

Для наглядности загрузите файл ifpwafcad.sql и сохраните его на компьютере. Этот сценарий предназначен для создания двух таблиц, аналогичных только что созданным таблицам (Counselor и Subject), и немедленного заполнения их данными.

Поскольку этот сценарий перезаписывает уже существующие таблицы, удалите Counselor и Subject, чтобы зафиксировать процесс создания таблиц при выполнении сценария. Удаление таблиц

  1. Щелкните правой кнопкой мыши узлы таблиц Counselor и Subject в проводнике баз данных, после чего выберите Delete ("Удалить").
  2. Нажмите кнопку Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта"). Обратите внимание, что в диалоговом окне перечисляются таблицы, которые будут удалены.

При нажатии кнопки Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта") узлы таблиц автоматически удаляются из проводника баз данных.

Выполнение сценария SQL в базе данных MyNewDatabase

  1. В главном меню среды IDE выберите "Файл" > "Открыть". В браузере файлов перейдите к месту хранения ifpwafcad.sql и выберите команду "Открыть". Сценарий автоматически откроется в редакторе SQL.
  2. Убедитесь, что подключение к базе данных MyNewDatabase выбрано в раскрывающемся списке "Соединение" на панели инструментов в верхней части редактора.

    Раскрывающийся список 'Подключение' на панели инструментов редактора SQL

  3. Нажмите кнопку ‘Выполнить SQL’ (Кнопка 'Выполните SQL') на панели инструментов редактора SQL. Сценарий будет выполнен для выбранной базы данных, возвращаемые данные будут выведены в окне "Вывод".
  4. Чтобы проверить изменения щелкните правой кнопкой мыши узел подключения MyNewDatabase в окне ‘Среда выполнения’ и выберите ‘Обновить’. При выборе пункта "Обновить" компоненты интерфейса пользователя в проводнике данных будут приведены в соответствие с текущим состоянием указанной базы данных. Обратите внимание, что две новые таблицы из сценария SQL теперь отображаются как узлы таблицы в базе данных MyNewDatabase обозревателя баз данных.
  5. Выберите ‘Просмотреть данные’ в контекстном меню выбранного узла таблицы для просмотра данных, содержащихся в новых таблицах. Таким образом можно сравнить данные в таблицах с данными сценария SQL, чтобы убедиться в их соответствии.


Дополнительные сведения

Это заключительный раздел учебного курса "Подключение к базе данных MySQL". В этом документе демонстрируется настройка MySQL на компьютере пользователя и настройка соединения с сервером баз данных из IDE NetBeans. Также были рассмотрены методы работы с MySQL в обозревателе баз данных среды IDE при создании экземпляров баз данных и таблиц, заполнении их данными и выполнении запросов SQL.

Более подробные учебные курсы представлены на следующих ресурсах:

  • Создание простого веб-приложения, использующего базу данных MySQL. Этот учебный курс предоставляет сведения о создании простых двухуровневых веб-приложений в среде IDE с использованием созданной базы данных MySQL.

netbeans.org

Простое подключение

Для настройки простого подключения к MySQL извне зайдите в Панель управления и перейдите в раздел «Базы данных MySQL».

Нажмите кнопки «Доступ по IP» → «Добавить IP» и укажите IP-адрес, с которым вы выходите в сеть. Узнать свой IP-адрес можно на сайте inet.from.sh.

В форме можно указывать в том числе и IP-адреса с символом % в октетах. К примеру, для разграничения доступа с IP-адресов одной подсети:

192.168.1.%

Нажмите «Добавить».

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

  • сервер для подключения: имя вашего домена, например yourdomain.ru;
  • порт для подключения: 3306;
  • имя пользователя и пароль: установленные вами при создании базы данных имя пользователя и пароль.

Пример подключения с помощью программы mysql (пароль будет запрошен при подключении):

mysql -P 3306 -h yourdomain.ru -u mylogin_user -p mylogin_db

Безопасное подключение через SSH-туннель

В целях обеспечения безопасности ваших данных используйте подключение к базам данных MySQL через SSH-туннель. Данные передаются по SSH-туннелю в зашифрованном виде, что исключает возможность их перехвата.

Подключение к БД MySQL с компьютера под управлением ОС MS Windows

Настройка SSH-туннеля

Установите на ваш компьютер программу putty. Это бесплатное программное обеспечение, скачать ее можно на официальном сайте.

Запустите программу.

В категории настроек «Session» в поле «Имя хоста» (Host Name) укажите домен вашего сайта.

Перейдите в категорию настроек Connection → SSH → Tunnels и в поле «Source port» укажите значение 3306, в поле «Destination» — localhost:3306.

После этого нажмите кнопку «Add».

После этого нажмите кнопку «Open». Установится соединение с вашим хостом.

В качестве логина и пароля используйте ваши данные для входа в Панель управления хостингом.

Туннель установлен. Для соединения с базой данных используйте имя пользователя и пароль, заданные вами при создании базы данных в разделе Панели управления «Базы данных». В качестве адреса сервера используйте 127.0.0.1, порт для подключения 3306.

Пример подключения с помощью программы mysql (пароль будет запрошен при подключении):

mysql -P 3306 -h 127.0.0.1 -u mylogin_user -p mylogin_db

Внимание: если на вашем компьютере уже работает сервер баз данных MySQL, подключение удаленному серверу по порту 3306 будет невозможно. В этом случае при создании подключения в putty укажите другой порт в качестве «Source port», например, 3307. Используйте этот порт при подключении к базе данных.

Подключение к БД MySQL с компьютера под управлением ОС Linux

В командной строке выполните следующую команду:

ssh -L3306:localhost:3306 -n [email protected]

  • 3306 (сразу после ключа -L) — порт на локальном компьютере, к которому вы сможете подключаться клиентом mysql;
  • yourlogin — имя вашего аккаунта (логин в Панели управления);
  • yourdomain.ru — имя вашего сайта.

В качестве пароля используйте пароль для входа в Панель управления хостингом.

Туннель установлен. Для соединения с базой данных используйте имя пользователя и пароль, заданные вами при создании базы данных в разделе Панели управления «Базы данных». В качестве адреса сервера используйте 127.0.0.1, порт для подключения 3306.

Пример подключения с помощью программы mysql (пароль будет запрошен при подключении):

mysql -P 3306 -h 127.0.0.1 -u mylogin_user -p mylogin_db

Внимание: если на вашем компьютере уже работает сервер баз данных MySQL, подключение удаленному серверу по порту 3306 будет невозможно. В этом случае при запуске ssh сразу после ключа -L укажите альтернативный порт, например, 3307. Используйте этот порт при подключении к базе данных.

Проверка соединения с БД MySQL

Проверить соединение с БД можно посредством утилиты telnet. Войдите в интерфейс командной строки (в ОС MS Windows: Пуск → Выполнить → cmd.exe), наберите команду:

telnet 127.0.0.1 3306

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

help.sprinthost.ru

логотип upread.ru

  • Главная
  • ⇒ Блог
  • ⇒ Статьи IT
Чтобы начать пользоваться базой данных MySQL, надо в первую очередь понять, как подключиться из вашей пользовательской PHP-программы (скрипта) к этой самой базе данных MySQL.

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

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

1. Подключение к PHP с помощью расширения mysqli
*mysqli означает MySQL Improved

Создайте следующий файл mysqli.php

  <?php     $conn = new mysqli("localhost", "name", "pass", "db");      if ($conn->connect_error) {   die("Ошибка: невозможно подключиться: " . $conn->connect_error);   }      echo 'Подключились к базе.<br>';     $result = $conn->query("SELECT id FROM goroda");     echo "Количество строк: $result->num_rows";     $result->close();     $conn->close();      ?>  

В приведенном выше коде:

  • mysqli — эта функция инициирует новое соединение с использованием расширения mysqli. Функция принимает четыре аргумента:
    1. localhost имя хоста, на котором запущена база данных MySQL
    2. name — имя пользователя MySQL для подключения
    3. pass — пароль для пользователя mysql
    4. db — база данных MySQL для подключения.
  • qvery — функция запроса MySQL. В этом примере мы выбираем столбец id из базы данных городов.
  • Наконец, мы показываем количество строк, выбранных с использованием переменной num_rows в результате. Мы также закрываем как результат, так и переменную соединения, как показано выше.

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

  Подключились к базе.  Количество строк: 6  

2. Подключение из PHP MySQL PDO Extension
*PDO означает объекты данных PHP

Драйвер PDO_MYSQL реализует интерфейс PDO, предоставляемый PHP, для подключения из вашего PHP-скрипта к базе данных MySQL.

Создайте следующий файл mysql-pdo.php:

  <?php   try {   $conn = new PDO("mysql:host=localhost;dbname=db", "name", "pass");     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   echo 'Подключились к базе.<br>';     $sql = 'SELECT id FROM goroda';      print "Список id:<br>";   foreach ($conn->query($sql) as $row) {   print $row['id'] . "<br>";   }   $conn = null;     }   catch(PDOException $err) {   echo "Ошибка: невозможно подключиться: " . $err->getMessage();   }  ?>   

В приведенном выше:

  • new PDO — создаст новый объект PDO, который примет следующие три аргумента:
    1. mysql connect string: он будет в формате «mysql:host=localhost;dbname=db». В приведенном выше примере db работает на localhost, и мы подключаемся к базе данных db.
    2. Имя пользователя MySQL для подключения
    3. Пароль для пользователя mysql
  • переменная $sql — создать запрос sql, который вы хотите выполнить. В этом примере мы выбираем столбец id из таблицы городов.
  • query ($sql). Здесь мы выполняем запрос sql, который мы только что создали.
  • foreach. Здесь мы перебираем результат из указанной выше команды запроса и сохраняем ее в переменной $row, а затем выводим ее с помощью echo.
  • В MySQL PDO, чтобы закрыть соединение, просто установите переменную $conn в значение null.

Когда вы вызываете вышеуказанный скрипт mysqli.php из своего браузера, вы увидите следующие строки; они означают, что PHP смог подключиться к базе данных MySQL и получить информацию:

  Подключились к базе.  Список id:  1  2  3  4  5  6  

3. Подключение из PHP c использование устаревших функций mysql

Используйте этот метод, только если вы используете более старую версию PHP и по какой-то причине не можете обновить ее до новой версии. Рекомендуется использовать метод №2 и метод №3, показанные выше, вместо этого метода. Я включил этот метод только для справки, а не как рекомендацию для использования.

Это конкретное расширение было устарело от версии PHP 5.5. Но, начиная с версии PHP 7.0, это даже не будет работать, поскольку оно было удалено. Начиная с версии PHP 5.5, когда вы используете эти функции, она будет генерировать ошибку E_DEPRECATED.

Именно поэтому кстати, хотя я и рекомендую своим заказчикам в новых проектах использовать последние версии PHP, для старых советую переходить с осторожностью. Обратная совместимость увы, не всегда работает.

Создайте файл mysql.php:

  <?php  $conn = mysql_connect('localhost', 'name', 'pass');  mysql_select_db("db");  if (!$conn) {  die('Ошибка: невозможно подключиться: ' . mysql_error());  }    echo 'Подключились к базе.<br>';    $result = mysql_query('SELECT id FROM goroda');    $row = mysql_fetch_row($result);  echo "id 1: ", $row[0], "<br>n";    mysql_close($conn);  ?>  

В приведенном выше:

  • Функция mysql_connect принимает три аргумента:
    1. имя хоста, в котором запущена база данных MySQL;
    2. имя пользователя MySQL для подключения;
    3. пароль для пользователя mysql. Здесь он подключается к базе данных MySQL, которая выполняется на локальном сервере с использованием имени пользователя и его пароля.
  • Функция mysql_select_db. Как следует из названия, она выбирает базу данных, к которой вы хотите подключиться. Эквивалентно команде «use». В этом примере мы подключаемся к базе данных db.
  • Функция mysql_query — используется для указания вашего запроса MySQL. В этом примере мы выбираем столбец id из базы данных городов.
  • mysql_fetch_row. Используйте эту функцию для извлечения строк из SQL-запроса, который мы только что создали.

  • Наконец, закройте соединение, используя команду mysql_close, как показано выше.

Когда вы вызываете вышеуказанный mysql-legacy.php из своего браузера, вы увидите следующий вывод, который указывает, что PHP смог подключиться к базе данных MySQL и получить информацию:

  Подключились к базе.  id 1: 1  

Вот таким образом можно подключаться к MySQL. Повторюсь, лучше использовать два первых способа; о безопасности я уже писал в одном из своих материалов. Если вам требуется консультация, то пишите мне на электронную почту, скайп или вконтакте — я буду рад помочь вам за небольшое денежное вознаграждение.

тегистатьи IT, основы mysql, подключение mysql, mysqli, pdo



© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.

upread.ru

Обычное подключение к базе MySQL

Для настройки обычного удаленного подключения вам необходимо:

  • Перейти в админ-панель хостинга;
  • Выбрать пункт «Управление БД»;
  • Выбрать пункт «Доступ IP»;
  • Указать определенный IP или же группу IP одной подсети.

После выполнения этих действий вы сможете выполнить подключение к MySQL на хостинге, используя при это параметры доступа к учетной записи пользователя этой БД. Номер порта для выполнения подключения — 3306, в то время как сервером послужит адрес вашего сайта. Также во время подключения вам потребуется ввести пароль от БД.

Подключение к удаленной базе MySQL при помощи phpMyAdmin

Подключиться к БД можно и через phpMyAdmin. Для начала вам нужно отредактировать его файл конфигурации под названием config.inc.php. В нем вам нужно найти строку $i++; — все, что будет после нее вам необходимо отредактировать. Далее будут идти строки вида $cfg[‘Servers’][$i][…], где […] — следующие значения:

  • [‘host’] = ‘{Name_host}’; Здесь нужно указать IP сервера или имя вашего хоста.
  • [‘port’] = »; Порт MySQL. Оставьте строку пустой для использования стандартных параметров.
  • [‘socket’] = »; Путь к сокету. Оставьте строку пустой для использования параметров по умолчанию.
  • [‘connect_type’] = ‘tcp’; Способ подключения к MySQL-серверу. Выберите значение ‘tcp’ или ‘socket’.
  • [‘extension’] = ‘mysql’; Выберите используемое расширение — ‘mysql’ или ‘mysqli’.
  • [‘compress’] = FALSE; Выберите, нужен ли протокол сжатия для MySQL-подключений.
  • [‘auth_type’] = ‘config’; Значение ‘config’ означает, что вы выбираете метод аутентификации при помощи логина и пароля.
  • [‘user’] = ‘{имя пользователя}’; Введите имя пользователя с root правами для нужной БД.
  • [‘password’] = ‘{пароль пользователя}’; Введите пароль пользователя с root правами для нужной БД.

После этого сохраните файл конфигурации. Теперь, установив phpMyAdmin на стартовую страницу, вы сможете выбирать, к какому из серверов подключиться. Стоит помнить, что когда серверов несколько, то строки в конфигурационном файле (начинаются с $i++;) должны быть отдельными для каждого сервера. Удаленное подключение к базе MySQL при помощи phpMyAdmin отличается от обычной консоли не только интерфейсом, но и более медленной реакцией сервера. В остальном все аналогично локальному подключению.

Непосредственное подключение к MySQL выполняется через консоль при помощи команды mysql -P 3306 -h 127.0.0.1 -u login -p name_db. При этом пароль вам потребуется сразу при подключении. Вместо login и name_db нужно подставить соответственно ваш логин и название БД. Не забывайте, что если у вас уже работает сервер MySQL, то соединение через порт 3306 выполнить невозможно. В таком случае вам придется либо остановить уже работающий сервер, либо назначить альтернативный порт соединения.

Удаленное подключение к MySQL посредством PHP

Подключение к базе MySQL на компьютере с ОС Linux также возможно посредством PHP. Для этого необходимо установить на ваш сервер модуль PHP-MySQL, после чего выполнить определенные действия.

Для начала вам нужно создать файл с настройками подключения. Назовите его connection.php и добавьте в него следующие строки:

$host = ‘name_host’; где name_host — название вашего хоста.

$database = ‘name_DB’; где name_DB — название нужной базы данных.

$user = ‘name_user’; где name_user имя пользователя с root правами.

$password = ‘pass’; где pass пароль от пользователя с root правами.

?>

Чтобы разрешить удаленное root-подключение к MySQL-базе нужно передать конструктору следующий код:

require_once ‘connection.php’; // Считываем нужные данные подключения

// выполняем подключение к серверу

$link = mysqli_connect($host, $user, $password, $database)

or die(«Ошибка подключения » . mysqli_error($link));

// выполняем различные операции с базой данных

// закрываем подключение к серверу

mysqli_close($link);

?>

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

После подключения в базе данных вы можете осуществлять запросы. Выполняется это при помощи функции mysqli_query(), которая размещается в области, отмеченной выше троеточием. Чтобы выполнить запрос, нужно передать конструктору эту функцию — она имеет два параметра, объект подключения и запрос на языке SQL.

Пример выполнения функции:

$query =»Ваш запрос на SQL»;

$result = mysqli_query($link, $query) or die(«Ошибка » . mysqli_error($link));

if($result)

{

echo «Запрос выполнен успешно»;

}

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

Также подключение к базе возможно при помощи стандартных функций, таких как:

  • mysql_connect При помощи этой функции можно открыть соединение с MySQL-сервером.
  • mysql_select_db Благодаря функции вы можете выбрать, к которой из уже созданных БД подключиться.
  • mysql_query Используя эту функцию, вы можете выполнить запрос на SQL к базе, с которой установлено соединение.

Естественно, подключиться к MySQL через командную строку проще, но это возможно далеко не всегда. Но если вам доступен модуль PHP-MySQL, вы сможете работать с любой базой данных.

Когда у Вас есть аренда физического сервера или VPS — настроить MySQL гораздо легче. Кроме того, если Вы — наш клиент, мы сделаем это оперативно и бесплатно.

Не удается выполнить удаленное подключение к базе данных сайта на хостинге RigWEB? Или вы не знаете, как подключить базу данных MySQL к серверу? На эти и многие другие вопросы всегда готовы ответить сотрудники техподдержки. Вы получите консультацию специалиста в течение 30 минут с момента обращения, независимо от времени суток. Пользуйтесь профессиональным хостингом и создавайте интересные веб-проекты вместе с нами!

rigweb.ru

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Рекомендуем посмотреть
Adblock
detector