Я играю с php и mysql и наткнулся на два разных способа подключения. Я могу использовать стиль ООП или процедурный стиль. Я новичок в ООП.Программирование ООП и процедурного программирования стиля
При взгляде на документацию (http://us1.php.net/manual/en/mysqli.construct.php ) он показывает нижеуказанный объектно-ориентированный стиль.
<?php
class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) {
parent::__construct($host, $user, $pass, $db);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}
$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
echo 'Success... ' . $db->host_info . "\n";
$db->close();
?>
Мой вопрос о линии:
if (mysqli_connect_error()) {
не то, что с использованием процедурного стиля в стиле ООП? Это функция, которую вы используете, если не используете стиль ООП. Разве это не должно быть что-то вроде:
if (mysqli::connect_error()) {
или
if (parent::connect_error()) {
Я попробовал оба, но они не работают.
Итак, я должен иметь возможность использовать $ mysqli-> connect_error в том же месте, что и mysqli_connect_error()? ... Я попробовал это и получил другое сообщение об ошибке. – user3015018
Хорошо ... Я пропустил всю часть кода, который я скопировал, который говорит: «Это официальный« OO », чтобы сделать это, НО $ connect_error был сломан до PHP 5.2.9 и 5.3.0.», Что показывает, что $ mysqli-> connect_error должен работать ... ОДНАКО Я на PHP 5.3.3 и $ connect_error все еще кажется сломанным. – user3015018
Когда вы рассматриваете стиль программирования, вы также можете вспомнить систему памяти. Смысл как языки ООП связывают память с процедурами ... – BDR