Я пытаюсь получить список элементов из db mySQL и вставить их в список в выбранном объекте на веб-странице. Ниже приведена часть кода, который не работает.Извлечение списка элементов с помощью php
В первой строке я пытаюсь получить объект JSON из публичной функции, называемой getBrands(), в одноэлементном объекте, который я создал под названием DatabaseInterface.
Вторая строка затем пытается превратить этот объект JSON в массив php.
Наконец, я запускаю цикл, который может выбирать каждый элемент между тегами для веб-страницы.
Куда я иду не так?
<?php
var $brandArrayJSON = DatabaseInterface::getBrands();
$brandArray = JSON_decode($brandArrayJSON);
for ($loop=0; $loop < sizeof($brandArray); $loop++) {
echo "<option>$brandArray[$loop]</option>";
}
?>
EDIT: В случае, если это помогает, вот мой синтаксис 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);
}
Как выглядит ваш сгенерированный JSON? –
Какова конкретная проблема, как она «не работает»? –
Проблема заключается в том, что при запуске скрипта он приводит к сбоям, в результате чего веб-страница не загружается. Объект JSON - это просто список значений (брендов) без ключей. –