Каковы различия / преимущества каждого из них? Недостатки?
Я не ищу предпочтений кодирования или субъективных ответов.
Каковы практические различия? (Хранение, реализация, как выглядит код, требования к среде …)
Вы можете использовать подготовленные операторы с mysqli.
И есть также функция хранения больших (blob) данных , которых нет у «старого» расширения mysql.
// php-mysql: no oo-interface $mysqli = new mysqli('localhost', 'localonly', 'localonly'); if ($mysqli->connect_error) { die($mysqli->connect_error); } // php-mysql: no prepared statements $stmt = $mysqli->prepare("INSERT INTO foo (mydata) VALUES (?)"); $stmt->bind_param("b", $null); // php-mysql: no function to send data in chunks $fp = fopen("php://input", "r"); while (!feof($fp)) { $chunk = fread($fp, 4096); $stmt->send_long_data(0, $chunk); } $stmt->execute();
Прочтите обзор руководства PHP, он отвечает на большинство вопросов и имеет сравнительную таблицу.
Подготовленные утверждения доступны в mysqli для одного. Вы также можете использовать интерфейс OO, поэтому вместо mysql_foo_bar()
вас есть $con->foo_bar()
.