Я извлекаю некоторые данные из базы данных MySQL в формате JSON, но у меня есть странная проблема.
Если я напишу код:
<?php
//Step1 - Access Database
ini_set( "display_errors", "1" );
$db = mysqli_connect('-','-','-','-')
or exit(mysqli_connect_error());
//Step2 - Create query and execute it
$query = "SELECT 'id' FROM 'Tiendas'";
$result = mysqli_query($db, $query) or exit(mysqli_error($db));
//Step 3 - Configure results
$data = array();
while ( $row = $result->fetch_assoc() ) {
$data[] = $row;
}
//Step 4 - Close connection and send results
header( 'Content-Type: application/json' );
mysqli_close($db);
echo json_encode($data,JSON_UNESCAPED_UNICODE);
?>
Он работает хорошо, но если я пишу:
<?php
//Step1 - Access Database
ini_set( "display_errors", "1" );
$db = mysqli_connect('-','-','-','-')
or exit(mysqli_connect_error());
//Step2 - Create query and execute it
$query = "SELECT 'Tienda' FROM 'Tiendas'";
$result = mysqli_query($db, $query) or exit(mysqli_error($db));
//Step 3 - Configure results
$data = array();
while ( $row = $result->fetch_assoc() ) {
$data[] = $row;
}
//Step 4 - Close connection and send results
header( 'Content-Type: application/json' );
mysqli_close($db);
echo json_encode($data,JSON_UNESCAPED_UNICODE);
?>
Он ничего не показывает. Ни код ошибки...
Таблица такова:
CREATE TABLE 'Tiendas' (
'id' INT(11) NOT NULL AUTO_INCREMENT,
'Usuario' VARCHAR(50) NULL DEFAULT NULL,
'Tienda' VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY ('id')
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=217
;
Это не работает, если я включаю в инструкцию SELECT строку "Tienda" или "Usuario". Если я включаю только строку "id", она работает хорошо...
Я исправил его, меняя кодировку...
<?php
//Step1 - Access Database
ini_set( "display_errors", "1" );
$db = mysqli_connect('localhost','fgallegof','qU5v6f5$','cdm')
or exit(mysqli_connect_error());
mysqli_set_charset($db, "utf8");
//Step2 - Create query and execute it
$query = "SELECT 'Tienda' FROM 'Tiendas'";
$result = mysqli_query($db, $query) or exit(mysqli_error($db));
//Step 3 - Configure results
$data = array();
while ( $row = $result->fetch_assoc() ) {
$data[] = $row;
}
//var_dump($data);
//Step 4 - Close connection and send results
header( 'Content-Type: application/json' );
mysqli_close($db);
echo json_encode($data);
?>
Мне нужно добавить mysqli_set_charset($db, "utf8");
и изменить последнюю строку относительно кодирования JSON
cdm
в вашем FROMcdm
.Tiendas
? Я не знаю, что означает этот синтаксис в FROM запроса, но мне кажется, что вам просто нужно FROMTiendas
в описании вашей таблицы. например, "ВЫБЕРИТЕTienda
FROMTiendas
"