我asked a question earlier和一个用户说,看起来我是oddly mixing the OO and procedural style usage of mysqli,我应该坚持一个或另一个。
有没有人可以告诉我我的代码到底出了什么问题,以及我的代码在面向对象和过程化形式下应该是什么样子。我现在有点好奇,因为我的代码似乎对我来说是有效的,但话说回来,我对PHP和MySQL还是相当陌生的,我想学习正确的方法。
下面是代码。
// Query member data from the database and ready it for display
$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT users.*, categories.*, users_categories.* FROM users_categories INNER JOIN users ON users_categories.user_id = users.user_id INNER JOIN categories ON users_categories.category_id = categories.id WHERE users_categories.user_id=3");
if (!$dbc) {
// There was an error...do something about it here...
print mysqli_error($mysqli);
}发布于 2009-11-07 02:00:35
// Query member data from the database and ready it for display
$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = $mysqli->query("SELECT users.*, categories.*, users_categories.* FROM users_categories INNER JOIN users ON users_categories.user_id = users.user_id INNER JOIN categories ON users_categories.category_id = categories.id WHERE users_categories.user_id=3");
if (!$dbc) {
// There was an error...do something about it here...
print $mysqli->error();
}我不认为你应该以这种方式开始学习oop。我推荐你http://php.net/manual/en/oop5.intro.php
发布于 2009-11-07 02:02:53
我在过去用过这个,不知道它是否有帮助,因为这不是你问题的真正答案,但可能有用。
<?php // cnxVars
class cnxVars {
private $host = "localhost";
private $host_un = "username";
private $host_pass = "test123";
private $host_db = "si";
public function cnx() { // Connect to MySQL
$this->cnx = mysql_connect($this->host, $this->host_un, $this->host_pass) or mysql_error(); }
public function db() { // Select DB
return mysql_select_db($this->host_db, $this->cnx) or mysql_error(); }
} // End cnxVars ?>然后你可以这样做
$mysql = new cnxVars();
$mysql->cnx();
$mysql->db();https://stackoverflow.com/questions/1689257
复制相似问题