我試圖從某個SQL表,它確實工作就像下得到一些列DB-連接:
如何獲得我的類/函數
<?php
include("config.php");
// SELECT DATABASE TO ECHO FROM
$sql = "SELECT * from GuildInformation";
// ECHO FROM THE ^SELECT
$data = $conn->query($sql);
foreach ($data as $row) {
// HERE IS SOME CODE WHICH DOES WORK
}
?>
^這種方法確實可行完美,現在我想創建一個圍繞它的功能:當我調用函數SelectGuildInfo();
<?php
include("config.php");
function SelectGuildInfo() {
// SELECT DATABASE TO ECHO FROM
$sql = "SELECT * from GuildInformation";
// ECHO FROM THE ^SELECT
$data = $conn->query($sql);
foreach ($data as $row) {
// HERE IS SOME CODE WHICH DOES WORK
}}
?>
我碰到下面的錯誤代碼:
Fatal error: Call to a member function query() on a non-object in /users/l4g/www/84732842323772/submit.php on line 12
線12:$data = $conn->query($sql);
所以當我include("config.php");
到我的功能它重新工作,但我想數據庫連接是我的功能之外,因爲我將有超過1這個腳本只有1包括。
除此之外我很新的這整個東西,其實是想使用一個類爲我的數據庫連接嘗試,所以我本想出了:
<?php
class dbConn{
protected static $db;
private function __construct(){
try{
self::$db = new PDO('mysql:host=localhost;dbname=NAME', 'USR', 'PWD');
self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
echo "Connection Error: " .$e->getMessage();
}
}
public static function getConnection(){
if(!self::$db){
new dbConn();
}
return self::$db;
}
}
?>
我要如何使用我的課在我的腳本,所以我不必包括我想要使用的每個功能的東西?!
非常感謝你幫助我!
現在有了這個代碼,它運行得很好!:)
include("database.class.php");
$db = dbConn::getConnection();
function SelectGuildInfo($db)
請參閱http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php/12769983#12769983 – Fang
不幸的是,我有點新,並不明白大部分是@Fang,但是謝謝 – pbahmann1
mysql類已棄用。使用mysqli或PDO。至於錯誤消息,它告訴你$ conn不是函數的上下文中的一個對象 – Fang