Существует много примеров этого в StackOverflow, но я не вижу ошибки в моем коде. Я последовал за несколькими учебниками и скопировал код с этого форума, и он по-прежнему ошибается в ошибках.Получение JSON из PHP Соединение с MySQL
Мой CREATE TABLE
запрос:
CREATE TABLE `e1_ENGLISH` (
`entry_id` int(11) NOT NULL AUTO_INCREMENT,
`words_e1` char(30) NOT NULL,
`date` date DEFAULT NULL,
`phonetic_e1` varchar(50) NOT NULL,
PRIMARY KEY (`entry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4
Мой код PHP:
<?php
// establish connection
// mysqli contect (host, user, pass, db)
$conn = mysqli_connect("localhost","androidapp","password","myDB");
// check for connection success
if(!$conn) {
die("Error, could not connect: " . mysqli_connect_error());
}
// build query
$sql = "SELECT * FROM e1_ENGLISH";
$result = mysqli_query($conn, $sql); // fetch data
// convert result to array
$resArray = array();
while ($row = mysqli_fetch_assoc($result)) {
//$resArray[] = $row;
$resArray[] = utf8_encode($row);
}
// display result
echo json_encode($resArray);
// close connection
mysqli_close($conn);
?>
Выход я (с utf8_encode
):
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]
я получаю пустой экран с только $resArray[] = $row;
Я новичок в PHP, данных MySQL и веб-серверах. Какие ошибки вы можете заметить? Кроме того, у меня нет скрипта или чего-то еще, это прямой PHP.
Спасибо заранее!
вместо 'fetch_assoc' либо использовать' 'fetch_array' или $ resArray [] = utf8_encode ($ строки [ 'put_column_name_here']); // повторить его в то время как петли для всех столбец' и проверка –
Хорошо, попробую. В чем же разница с 'fetch_assoc' и другими методами' fetch_'? Мне трудно понять, почему некоторые примеры используют его. – Frank
'fetch_assoc' дал вам ассоциативный массив, поэтому вам нужно использовать имена столбцов. в то время как 'fetch_array()' дает вам комбинацию (числовой + ассоциативный). вы можете получить только числовые. проверьте на google для этого –