2013-08-30 45 views
0

我有三個文件,從技術上講,兩個文件是一個初始化文件,並且只包含它。mysql_query()期望參數1是字符串,使用類和函數時給出的資源

我的index.php中第一個文件,它使用了類SQL:

<?php 

define("WEB_URL", dirname(__FILE__) . "/"); 
include(WEB_URL . 'init.php'); 

$sql->openConnection('localhost', 'root', ''); 
$sql->selectDatabase("website"); 
$query = $sql->query("SELECT * FROM users"); 
$result = $sql->fetch_array($query); 
echo $result['user_name']; 
$sql->closeConnection(); 

?> 

的SQL函數是相當簡單的,到目前爲止,但我不太知道我做錯了。我已經閱讀了一些問題,但似乎沒有任何工作。而不是

<?php 

class SQL { 

    private $_connection; 

    /* 
    * openConnection 
    * 
    * @param String username, String password, String host 
    * @return Boolean true 
    */ 

    function openConnection($host, $username, $password) 
    { 

     $this->_connection = mysql_connect($host, $username, $password); 

     if(!$this->_connection) { 

      exit('Unable to connect to database'); 

     } 

    } 

    /* 
    * closeConnection 
    */ 

    function closeConnection() 
    { 

     mysql_close($this->_connection); 

    } 

    /* 
    * selectDatabase 
    * 
    * @param String database name 
    * @return Boolean true 
    */ 

    function selectDatabase($database_name) 
    { 

     mysql_selectdb($database_name, $this->_connection); 

    } 

    /* 
    * query 
    * 
    * @param String query 
    * @return Boolean results 
    */ 

    public function query($query) 
    { 

     $q = mysql_query($this->_connection, $query) or die(mysql_error()); 
     return $q; 

    } 

    /* 
    * query 
    * 
    * @param SQL results 
    * @return Array array 
    */ 

    function fetch_array($results) 
    { 

     return mysql_fetch_array($results); 

    } 

} 

?> 
+0

'的mysql_query()'有SQL字符串,然後再(可選)連接。 – andrewsi

+4

你不應該包裝mysql _ *()函數。它們已過時並已棄用。無論如何,mysqli庫已經有一個OOP接口,所以你基本上是重新安排泰坦尼克號的甲板椅子。 –

+0

噢,但我更喜歡這種方式,即使它打破了規則。反正有這個嗎? Andrew,我不太明白你的意思。 –

回答

0

$q = mysql_query($this->_connection, $query) or die(mysql_error()); 

做到這一點:

$q = mysql_query($query,$this->_connection) or die(mysql_error()); 

檢查this documentation更多細節

相關問題