Лучший способ подключения базы данных MySQL на PHP - PullRequest
0 голосов
/ 02 ноября 2009

Соединение MySQL в PHP может быть установлено двумя способами:

$mysql = new mysqli('localhost', 'user_name', 'password', 'database_name');

или

$link = mysqli_connect('localhost', 'user_name', 'password');
mysqli_set_charset($link, 'utf8');
mysqli_select_db($link, 'database_name');

Какой из них лучше и почему?

Ответы [ 6 ]

4 голосов
/ 02 ноября 2009

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

2 голосов
/ 02 ноября 2009

Будете ли вы иметь дело с более чем одной базой данных? Если так, то может быть хорошей идеей не устанавливать имя_базы_данных в конструкторе. Иначе проблем нет. Кроме того, что вы установили кодировку во второй, я не думаю, что есть большая разница.

1 голос
/ 02 ноября 2009

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

Взгляните на http://www.php.net/manual/en/book.mysqli.php

1 голос
/ 02 ноября 2009
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
  // error: mysqli extension error
  exit('...');
}

$connection = mysqli_init();
@mysqli_real_connect($connection, DBHOST, 
  DBUSER, DBPASS, DBNAME, DBPORT, NULL, MYSQLI_CLIENT_FOUND_ROWS);

if (mysqli_connect_errno() > 0) {
  // error: connection error
  echo mysqli_connect_error();
  exit();
}

// Force UTF-8.
mysqli_query($connection, 'SET NAMES "utf8"');

Этот образец согласно Drupal6 database.mysqli.inc

0 голосов
/ 11 марта 2013

Лучший способ подключиться к MySQL database в php - использовать PDO driver, http://php.net/manual/es/book.pdo.php, также у вас есть параметризованный запрос, you can avoid sql injection easily и другие функции, которые вам могут понравиться, также вы можете знать, что is prepared to work with object oriented programming , что это довольно круто .

Надеюсь, это поможет вам.

PS : PDO также может использоваться для подключения к другим видам баз данных sql, таким как SQL Server и т. Д., Вам нужно изучить PDO (это просто), а затем вы можете подключиться ко многим вид баз данных sql.

0 голосов
/ 09 октября 2012

Оба подхода являются допустимыми способами использования расширения mysqli. Первый - это объектно-ориентированный интерфейс, а второй - процедурный интерфейс. Они эквивалентны, и это просто вопрос предпочтений. См. PHP mysqli документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...