-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