我正在尝试从 mySQL 数据库中检索项目列表,并将它们作为列表插入到网页上的选择对象中。以下是不工作的代码位。
在第一行中,我试图在我创建的名为 DatabaseInterface 的单例对象中从名为 getBrands() 的公共函数中检索 JSON 对象。
然后第二行尝试将该 JSON 对象转换为 php 数组。
最后,我正在运行一个循环,它可以选择网页标签之间的每个项目。
我哪里错了?
<?php
var $brandArrayJSON = DatabaseInterface::getBrands();
$brandArray = JSON_decode($brandArrayJSON);
for ($loop=0; $loop < sizeof($brandArray); $loop++) {
echo "<option>$brandArray[$loop]</option>";
}
?>
编辑:如果有帮助,这是我的 DatabaseInterface 单例。我已将此文件包含在我的 php 文件的顶部
class databaseInterface {
private static $_instance;
// Private constructor prevents instantiation
private function __construct() {
}
public static function getInstance() {
if (!self::$_instance) {
self::$_instance = mysqli_connect(self::databaseHost, self::databaseUsername, self::databasePassword, self::databaseName);
if (mysqli_connect_errno(self::$_instance)) {
throw new Exception("Failed to connect to MySQL:" . mysqli_connect_error());
}
}
return self::$_instance;
}
public function getBrands() {
try {
$con = DatabaseInterface::getInstance();
} catch (Exception $e) {
// Handle exception
echo $e->getMessage();
}
$query = "SELECT psBrandName from brands";
$result = mysqli_query($con, $query) or die ("Couldn't execute query. ".mysqli_error($con));
$resultArray[] = array();
while ($row = mysqli_fetch_assoc($result)) {
extract($row);
$resultArray[] = $psBrandName;
}
return json_Encode($resultArray);
}