Php подключение к mysql и вывод данных

Php подключение к mysql и вывод данных

Без соединения с базой данных (БД) сегодня не работает практически ни один сайт. поэтому и мы рассмотрим как соединяться с MySQL при помощи php.

Создание соединения разными способами:

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

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

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

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

// освобождение используемой памяти
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

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

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

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

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

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

Читайте также:  Asus z010d какая модель

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

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

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

$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);
if($conn->connect_errno) <
die($conn->connect_error);
> else

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

  • $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

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

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

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

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

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

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

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

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

index.php

// PDO стиль для связи с MySQL
if ($stmt = $mysqli->prepare("SELECT Name, Voney FROM Dolg ORDER BY Money bind_param("i", $summa);
$summa = 100000;

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

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

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

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

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

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

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

Более новые статьи:

  • Функция trim в php часто используется, потому что она очень удобна. давайте смотреть как она работает. …

">trim функция подробно — 22/03/2016 21:58
Часто используемые функции php я решил выносить в отдельные статьи. потому что запросы обычно бывают именно целевые, то есть люди ищут именно ответ н …

">Parse_url () функция — 22/03/2016 21:06
Часто возникает вопрос: "Как убрать копейки из цены на php?" на него и будет отвечать в этой статье на примере одной cms. …

Читайте также:  No command android что означает

Более старые статьи:

  • Для тех, кто только начинает изучать PHP — заголовки HTTP является каким-то туманом, который почему-то не особо приятный. давайте его рассеивать. Люб …

">Заголовки HTTP через PHP
Часто в PHP нужно вывести все файлы и каталоги в виде списка. это нужно, чтобы нам сразу узнать где у нас, чего и сколько. давайте приступать. …

">PHP вывод файлов и каталогов директории
На PHP часто нужна загрузка файлов на сервер. приятно же, если у вашего сайта есть возможность загружать файлы на сайт: картинки или другие текстовые …

Создать соединение(connect) с базой данных MySql

Первое, что нам следует сделать для того, чтобы получить данные из таблицы базы данных, — установить соединение с БД.

Извлечь данные из таблицы MySql

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

Теперь давайте разберем функции, которые мы использовали для вывода данных из MySql.

mysqli_connect

mysqli_connect( , , , ) — устанавливает соединение с базой данных.

mysqli_query

mysqli_query( , ) — выполняет запрос к БД, написанный на языке SQL.

mysqli_fetch_array

mysqli_fetch_array( ) — поочередно возвращает по одной строке из результата запроса.

Вывод переменной врутри строки

Заметьте, что если вы выводите строку оператором echo и строка заключена в двойные кавычки (именно двойные), то внутрь строки можно вставлять переменные в фигурных скобках и они будут подставленны в этот шаблон. Круто, да?

Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!

Прежде чем подключиться к MySQL серверу необходимо определиться с PHP расширением, которое будет использоваться для работы с базой данных. Под расширением понимается драйвер — посредник между сервером базы и программистом. Он содержит набор функций или объектов, которые упрощают работу программиста. На данный момент выделяют 3 основных расширения.

Все 3 расширения являются стандартным набором для любой хорошей хостинг-площадки. Однако, по умолчанию некоторые могут быть отключены в настройках PHP модулей. Информацию о включенных модулях возвращает функция «phpinfo» с параметром «8».

Доступность модуля можно определить с помощью простой конструкции в коде.

Читайте также:  Huawei mediapad новые планшеты

Подключение к MySQL через одноименное расширение

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

Начиная с PHP версии 5.5 многие функции расширения стали устаревшими, а в PHP 7 и вовсе не поддерживаются.

Рассмотрим пример подключения к базе данных с комментариями.

В качестве запросов используется стандартный SQL. Рассмотрим простые примеры выборки и добавления записей.

В примере производим простую выборку записей из таблицы «books». Результат представлен в качестве ассоциативного массива, поэтому его содержимое можно получить в обычном цикле. Если запрос не возвращает набор данных, то в качестве результата возвращается «false» или «true».

Отличие MySQLi от MySQL

MySQLi пришло на смену MySQL. Буква «i» обозначает улучшенный (Improved). Имеет частичную совместимость со старой версией. Поддерживается всеми версиями PHP. Имеет чуть большую скорость работы и лучшую безопасность. Установлено на 99% хостинговых площадках.

Одной из важных особенностей является наличие объектно-ориентированного интерфейса. Если раньше работы с базой данных осуществлялись при помощи интерфейса функций, то теперь можно использовать оба подхода. Рассмотрим пример подключения к базе данных через MySQLi средствами «ООП».

Так осуществляется простая выборка названий книг из поля «BName» таблицы «books». Вставка и обновление существующих записей так же не отличается сложностью.

В конце запроса осуществляем проверку, удалось ли обновить запись.

Подключение к базе через PDO

PDO — расширение для PHP, которое расшифровывается как PHP Data Objects. Его особенностью является повышенная безопасность и универсальный интерфейс работы с различными базами данных. Другими словами, если с помощью MySQLi можно создавать запросы только для MySQL сервера, то PDO позволяет работать с различными серверами используя один и тот же синтаксис запросов. Это удобно если разработчик заранее не знает под управлением какого сервера будет работать конечный продукт.

У PDO есть свой механизм соединения с базой данных — «DSN» (Data Source Name). Кроме адреса сервера, логина и пароля, он должен принять тип базы данных. Посмотрим пример подключения.

Точно так же осуществляются и другие действия с записями и таблицами. Только меняем SQL запрос и вызываем выполнение методом «exec».

Метод «exec» в отличии от «query» не может получать данные из базы данных. Он возвращает количество записей, которые были затронуты в результате работы SQL запроса.

Ссылка на основную публикацию
Adblock detector