Object Oriented ve Usul Mysqli Yardım?

2 Cevap php

I asked a question earlier ve bir kullanıcı ben oddly mixing the OO and procedural style usage of mysqli kulüpler gibi görünüyor ve ben bir ya da diğer iki sopa gerektiğini belirtti.

Bazı biri benim kod ve nasıl kod OO ve prosedürel formda gibi görünmelidir yanlış olduğunu tam olarak ne bana gösterebilir. Ben kodu benim için çalışmak gibi görünüyor çünkü ben şimdi biraz meraklı değilim, ama sonra yine ben PHP ve MySQL için oldukça yeni ve doğru şekilde öğrenmek istiyorum.

İşte kodudur.

// 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);
}

2 Cevap

// 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();
}

Ve ben bu şekilde oop öğrenmeye başlamak gerektiğini sanmıyorum. Sana http://php.net/manual/en/oop5.intro.php öneriyor

Ben geçmişte bu kullanmış eğer yardımcı olur, bu gerçekten sorunun cevabı olmadığı gibi, bilmiyorum, ama yararlı olabilir.

    <?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 ?>

o zaman bunu yapabilirsiniz

$mysql = new cnxVars();
$mysql->cnx();
$mysql->db();