-1
我在玩php和mysql,碰到两种不同的连接方式。我可以使用OOP风格或程序风格。我是OOP的新手。面向对象编程与程序风格编程
查看文档(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()) {
是不是使用OOP风格中程序的风格?如果您不使用OOP风格,那么这就是您要使用的功能。它不应该是这样的:
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
当你考虑编程风格时,你也可以考虑内存系统。意思是OOP语言如何处理过程语言的内存...... – BDR