上下面有我的代码来连接到数据库呼叫一个成员函数准备()非对象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