这段代码以前一直在工作,但我最近添加了一个数据库类。我从中获取实例和连接:
$connection = MYSQLDatabase::getInstance()->getConnection();
$connection->prepare("INSERT INTO users etc etc.......
$insertArray = $connection->execute(array(
":username" => $_POST["username"]
));
getInstance() 返回数据库实例。getConnection() 返回包含以下内容的连接属性:
new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
因此,尽管$connection包含数据库对象、连接和预准备语句,但在执行 $connection->execute 时会发生错误。这怎么可能?
创建一个变量来存储你的预准备语句,然后执行它。
$connection = MYSQLDatabase::getInstance()->getConnection();
$statement = $connection->prepare("INSERT INTO users etc etc.......");
$insertArray = $statement->execute(array(
":username" => $_POST["username"]
));