Подключение к 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 модуль, как показано ниже:
Для всех приведенных ниже примеров, мы будем подключаться к базе данных MySQL, которая уже существует. Если вы новичок в MySQL, это хорошее место, чтобы начать: MySQL – Руководство для начинающих.
Примечание: Все, что описано здесь также будет работать с MariaDB, как это работает на MySQL.
1. Подключение на PHP с использованием расширения Mysqli
Содержание
- 1 1. Подключение на PHP с использованием расширения Mysqli
- 2 2. Подключение при помощи PHP к MySQL с расширением PDO
- 3 3. Подключение на PHP с использованием функций mysql_ (устар)
- 4 1) старый дедовский способ подключения к MySQL:
- 5 2) Более прогрессивный процедурный стиль — соединение с БД при помощи mysqli:
- 6 4) Связь с БД при помощи PDO :
- 7 Настройка свойств сервера MySQL
- 8 Запуск сервера MySQL
- 9 Создание экземпляра базы данных и подключение к ней
- 10 Создание таблиц баз данных
- 11 Работа с данными в таблице
- 12 Выполнение сценария SQL
- 13 Дополнительные сведения
- 14 Простое подключение
- 15 Безопасное подключение через SSH-туннель
- 16 Обычное подключение к базе MySQL
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. Эта функция будет принимать четыре аргумента:
- Имя хоста, где база данных MySQL работает
- Имя пользователя для подключения MySQL
- Пароль для пользователя mysql
- База данных 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, который будет принимать следующие три аргумента:
- Строка подключения MySQL: будет в формате “mysql:host=$hostname;dbname=$dbname”. В приведенном выше примере, БД работает на локальном хосте, и мы подключаемся к базе данных andreyex.
- Имя пользователя для подключения к MySQL.
- Пароль для пользователя 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’);
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:
Данный способ:
- удобнее;
- быстрее до 40 раз;
- повышена безопасность;
- есть новые возможности и функции;
Пример соединения с БД на 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.
- Щелкните правой кнопкой мыши узел Databases ("Базы данных") в окне Services ("Службы") и выберите Register MySQL Server ("Зарегистрировать MySQL") для открытия диалогового окна свойств сервера MySQL.
- Убедитесь, что имя узла и порт сервера указаны правильно.
Обратите внимание, что среда IDE вводит
localhost
как имя узла сервера по умолчанию и3306
как номер порта сервера по умолчанию. - Введите имя администратора (если оно не отображается).
Примечание. Необходим доступ с правами администратора, чтобы иметь возможность создавать и удалять базы данных.
-
Введите пароль администратора. По умолчанию установлено пустое значение.
Примечание. Пустой пароль является допустимым.
-
Нажмите вкладку "Свойства администратора" в верхней части диалогового окна.
Отобразится соответствующая вкладка, предоставляющая возможность ввода сведений для управления сервером MySQL.
- В поле "Путь/URL-адрес к средству администрирования" введите путь к средству администрирования MySQL (например, MySQL Admin Tool, PhpMyAdmin или другому подходящему веб-средству) или найдите его при помощи кнопки "Обзор".
Примечание.
mysqladmin
является инструментов администрирования MySQL, который находится в папкеbin
каталога установки MySQL. Это средство командной строки не подходит для использования в среде IDE.Введите аргументы для средства администрирования в соответствующее поле.
-
В поле "Путь к команде запуска" введите соответствующий путь MySQL или найдите его при помощи кнопки "Обзор". Для получения команды запуска найдите файл
mysqld
в папкеbin
каталога установки MySQL.Примечание. Рекомендуемый двоичный файл для Unix и NetWare:
mysql_safe
. Также может потребоваться другая команда запуска при установке MySQL в составе установки AMP.Введите значение аргументов для команды запуска в соответствующее поле.
- В поле "Путь к команде остановки" введите путь к команде остановки MySQL или найдите его при помощи кнопки "Обзор". Обычно требуется ввести путь к файлу
mysqladmin
в папкеbin
каталога установки MySQL. При использовании командыmysqladmin
введите-u root stop
в поле "Аргументы" для получения прав пользователяroot
на остановку сервера. -
На рисунке ниже изображен внешний вид вкладки "Свойства администратора" по завершении настройки. Если настройка выполнена корректно, нажмите кнопку "ОК".
Запуск сервера MySQL
Перед попыткой подключения к серверу базы данных MySQL необходимо убедиться в том, что он запущен на компьютере. Если сервер базы данных не подключен, вы увидите (disconnected) рядом с именем пользователя в узле MySQL Server в окна ‘Служба’ и не сможете развернуть узел.
Для подключения к серверу баз данных убедитесь, что сервер базы данных MySQL запущен на компьютере, щелкните правой кнопкой мыши ‘Базы данных’ > узел ‘MySQL Server’ в окне ‘Службы’ и выберите ‘Подключить’. Может отобразиться запрос на ввод пароля для подключения к серверу.
После подключения сервера вы сможете развернуть узел MySQL Server и просмотреть все доступные базы данных MySQL.
Создание экземпляра базы данных и подключение к ней
Редактор SQL является широко распространенным способом взаимодействия с базами данных. Для этого в IDE NetBeans имеется встроенный редактор SQL. Обычно редактор SQL доступен с помощью параметра ‘Выполнить команду’ из контекстного меню узла подключения (или дочерних узлов узла подключения). После установления подключения к серверу MySQL, можно создать новый экземпляр базы данных в редакторе SQL. Для продолжения работы с данным учебным курсом создайте экземпляр с именем MyNewDatabase:
-
В окне ‘Службы’ среды IDE щелкните правой кнопкой мыши узел сервера MySQL Server и выберите ‘Создать базу данных’.
Откроется диалоговое окно "Создание базы данных MySQL".
- В диалоговом окне "Создание базы данных MySQL" введите имя новой базы данных. В этом учебном курсе используется имя
MyNewDatabase
. Не устанавливайте флажок.Примечание. Также определенному пользователю можно предоставить полный доступ. По умолчанию только администратор обладает правами на выполнение определенных команд. Раскрывающийся список позволяет присваивать эти права определенным пользователям.
- Нажмите кнопку "ОК".
В узле "Сервер MySQL" окна "Службы" будет выведена новая база данных.
- Щелкните узел новой базы данных правой кнопкой мыши и выберите ‘Подключение’, чтобы установить соединение с базой данных.
Открытые подключения к базе данных отображаются в узле ‘Установленные подключения’ () в окне ‘Службы’.
Создание таблиц баз данных
После установления подключения к базе данных MyNewDatabase можно начинать изучение принципов создания таблиц, заполнения их данными и изменения данных в таблицах. Благодаря этому для пользователей обеспечивается возможность более глубокого анализа функций проводника баз данных, а также поддержки IDE NetBeans файлов SQL.
База данных MyNewDatabase в настоящее время пуста. В среде IDE таблицу базы данных можно добавить при помощи диалогового окна "Создание таблицы" или посредством ввода запроса SQL и его запуска напрямую из редактора SQL. Можно использовать оба метода.
- Использование редактора SQL
- Использование диалогового окна "Создание таблицы"
Работа с данными в таблице
Для работы с табличными данными можно использовать редактор SQL в IDE NetBeans. Выполняя запросы SQL в базе данных, можно добавлять, изменять и удалять данные в структурах баз данных. Для добавления новой записи (строки) в таблицу Counselor необходимо выполнить действия, описываемые ниже.
- Выберите элемент "Выполнение команды" в папке "Таблицы" проводника баз данных. В главном окне редактора SQL отобразится пустой холст.
- В редакторе SQL введите следующий запрос.
INSERT INTO Counselor VALUES (1, 'Ricky', '"The Dragon"', 'Steamboat','334 612-5678', '[email protected]', '1996-01-01')
- Чтобы выполнить запрос щелкните правой кнопкой мыши в редакторе SQL Editor и выберите ‘Выполнить оператор’. В окне "Вывод" будет выведено сообщение об успешном выполнении запроса.
-
Чтобы убедиться, что новая запись добавлена к таблице Counselor в проводнике баз данных щелкните правой кнопкой мыши узел таблицы Counselor и выберите ‘Просмотреть данные’. В главном окне редактора SQL откроется новая панель. При выборе команды "Просмотреть данные" в верхней части окна редактора SQL автоматически создается запрос на выбор всех данных таблицы. Результаты выполнения оператора отображаются в представлении таблицы в нижней части окна. В рассматриваемом примере будет отображена таблица Counselor. Обратите внимание, что новая строка была добавлена с данными, предоставленными в запросе SQL.
Выполнение сценария SQL
Другим способом управления табличными данными в IDE NetBeans является запуск внешнего сценария SQL напрямую в IDE. Если сценарий SQL был создан в другом местоположении его можно просто открыть в IDE NetBeans и запустить его в редакторе SQL.
Для наглядности загрузите файл ifpwafcad.sql и сохраните его на компьютере. Этот сценарий предназначен для создания двух таблиц, аналогичных только что созданным таблицам (Counselor и Subject), и немедленного заполнения их данными.
Поскольку этот сценарий перезаписывает уже существующие таблицы, удалите Counselor и Subject, чтобы зафиксировать процесс создания таблиц при выполнении сценария. Удаление таблиц
- Щелкните правой кнопкой мыши узлы таблиц Counselor и Subject в проводнике баз данных, после чего выберите Delete ("Удалить").
- Нажмите кнопку Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта"). Обратите внимание, что в диалоговом окне перечисляются таблицы, которые будут удалены.
При нажатии кнопки Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта") узлы таблиц автоматически удаляются из проводника баз данных.
Выполнение сценария SQL в базе данных MyNewDatabase
- В главном меню среды IDE выберите "Файл" > "Открыть". В браузере файлов перейдите к месту хранения ifpwafcad.sql и выберите команду "Открыть". Сценарий автоматически откроется в редакторе SQL.
-
Убедитесь, что подключение к базе данных MyNewDatabase выбрано в раскрывающемся списке "Соединение" на панели инструментов в верхней части редактора.
- Нажмите кнопку ‘Выполнить SQL’ () на панели инструментов редактора SQL. Сценарий будет выполнен для выбранной базы данных, возвращаемые данные будут выведены в окне "Вывод".
- Чтобы проверить изменения щелкните правой кнопкой мыши узел подключения MyNewDatabase в окне ‘Среда выполнения’ и выберите ‘Обновить’. При выборе пункта "Обновить" компоненты интерфейса пользователя в проводнике данных будут приведены в соответствие с текущим состоянием указанной базы данных. Обратите внимание, что две новые таблицы из сценария SQL теперь отображаются как узлы таблицы в базе данных MyNewDatabase обозревателя баз данных.
- Выберите ‘Просмотреть данные’ в контекстном меню выбранного узла таблицы для просмотра данных, содержащихся в новых таблицах. Таким образом можно сравнить данные в таблицах с данными сценария 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
- Главная
- ⇒ Блог
- ⇒ Статьи IT
Чтобы начать пользоваться базой данных MySQL, надо в первую очередь понять, как подключиться из вашей пользовательской PHP-программы (скрипта) к этой самой базе данных MySQL.
В этой статье описаны следующие три метода, а также соответствующие примеры PHP-кода, в которых объясняется, как подключиться к вашей базе данных из PHP. Для всех приведенных ниже примеров мы будем подключаться к уже существующей базе данных MySQL. Примечание: все, что объясняется здесь, также будет работать с MariaDB, так же как и с MySQL. 1. Подключение к PHP с помощью расширения mysqli Создайте следующий файл 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.php из своего браузера, вы увидите следующий вывод, который указывает, что PHP смог подключиться к базе данных MySQL и получить данные. Подключились к базе. Количество строк: 6 2. Подключение из PHP MySQL PDO Extension Драйвер 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(); } ?> В приведенном выше:
Когда вы вызываете вышеуказанный скрипт 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_fetch_row. Используйте эту функцию для извлечения строк из SQL-запроса, который мы только что создали. Когда вы вызываете вышеуказанный 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