上下面有我的代碼來連接到數據庫呼叫一個成員函數準備()非對象PHP
function createConnection($DB_USER, $DB_PASSWORD){
$dbc = new PDO('mysql:host=****', $DB_USER, $DB_PASSWORD);
}
和下方,並且是被稱爲一個函數的代碼
function checkIfUserExists($dbc, $username, $table){
global $dbc;
$stmt = $dbc->prepare("SELECT * FROM ? WHERE username = ?");
$stmt = bindParam(1, $table);
$stmt = bindParam(2, $username);
$stmt->execute();
}
下面是我用它來調用它們的代碼
$connect = new databaseOperations;
$connect->createConnection($DB_USER, $DB_PASSWORD);
$connect->checkIfUserExists($dbc, login, Username);
我的問題是爲什麼會收到調用一個成員函數準備()在非頁面加載時發生對象錯誤?
AIAIAI,在面向對象的代碼... – 2013-03-02 22:14:43
全局我可能是錯的工作,而是一個函數中創建$ DBC,不知道外面這個功能,對嗎? – michi 2013-03-02 22:16:00
除了@ WouterJ的回答之外,請記住PDO僅綁定數據變量。即你可以綁定?到用戶名,但不能綁定表名。如果你有一個變量$表,你應該通過字符串操作將它包含在查詢中。但請務必清理它,如果它來自用戶:http://stackoverflow.com/questions/13405392/pdo-bindparam-issue/13406590#13406590 – 2013-03-02 22:34:32