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);
}
}
?>
'的mysql_query()'有SQL字符串,然後再(可選)連接。 – andrewsi
你不應該包裝mysql _ *()函數。它們已過時並已棄用。無論如何,mysqli庫已經有一個OOP接口,所以你基本上是重新安排泰坦尼克號的甲板椅子。 –
噢,但我更喜歡這種方式,即使它打破了規則。反正有這個嗎? Andrew,我不太明白你的意思。 –