对不起,我想一个简单的问题。 好的,所以我尝试遵循https://www.skysilk.com/blog/2018/how-to-connect-an-android-app-to-a-mysql-database/,这是一个有关如何正确执行操作的教程。 但是,当我以他们说的方式测试我的PHP代码时,通过在浏览器中加载“ herokuserverbeingused.com/phpcode.php”,而不是得到应有的回声,我什么也没得到。 这是我的代码,实际上只是本教程中的代码稍作修改
<?php
//borrowing from don't forget to credit https://www.skysilk.com/blog/2018/how-to-connect-an-android-app-to-a-mysql-database/
$con=mysqli_connect("a heroku server.net","nope","sorry","very secret");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "SELECT * FROM players";
// Confirm there are results
if ($result = mysqli_query($con, $sql))
{
// We have results, create an array to hold the results
// and an array to hold the data
$resultArray = array();
$tempArray = array();
// Loop through each result
while($row = $result->fetch_object())
{
// Add each result into the results array
$tempArray = $row;
array_push($resultArray, $tempArray);
}
// Encode the array to JSON and output the results
echo json_encode($resultArray);
}
// Close connections
mysqli_close($con);
?>
我正在使用Heroku托管所有内容,因为我的教授说这将是一个好主意,是什么引起了问题?
答案 0 :(得分:1)
原来的问题是$ resultArray中的内部行是stdClass对象而不是数组,解决方案是将$temparray = $row
替换为$tempArray = json_decode(json_encode($row), True);
感谢Dan帮我弄清楚问题出在哪里,回答Convert stdClass object to array in PHP的人向我展示了最简单的解决方案