在StackOverflow上有很多這樣的例子,但我在代碼中看不到錯誤。我跟着幾個教程,並從這個論壇複製了一些代碼,它仍然錯誤錯誤。從PHP獲取JSON 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數據和web服務器的新手。你可以發現任何錯誤?另外,我沒有腳本或任何東西,這是直的PHP。
預先感謝您!
代替'fetch_assoc'要麼使用'fetch_array'或'$ resArray [] =函數utf8_encode($行[ 'put_column_name_here']); //重複它在while循環的所有列'並檢查 –
好吧,會嘗試。 'fetch_assoc'和其他'fetch_'方法有什麼不同?我無法理解爲什麼有些示例使用它。 – Frank
fetch_assoc給你關聯數組,所以你需要在那裏使用列名。而'fetch_array()'給你兩個組合(數字+關聯)。你也只能得到數字。檢查谷歌 –