【发布时间】:2015-11-10 20:46:00
【问题描述】:
我正在尝试编写我的第一个基本 PHP RESTful API - 我设法使用 MAMP 在我的本地机器上运行它。但是当我上传到托管服务器时,它不想工作。
下面的代码 - 我在其中添加了一些 ECHO,以确保一切正常。在$result=mysqli_query 之前,我们似乎都很好。
<?php
//header('Content-type:application/json');
// Connect to db
$con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");
echo "Database: ";
// Check connection
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
echo "Connected successfully";
echo "<br><br>";
// Get value from url
$bid = $_GET['bid'];
echo "BID: ";
echo $bid;
echo "<br><br>";
// Define Query
$sql = "SELECT id, bandname, members, bio, songlist FROM bands WHERE id='$bid'";
echo "SQL Query: ";
echo $sql;
echo "<br><br>";
// Run Query
$result = mysqli_query($con, $sql);
echo "Result: ";
print_r($result);
echo "<br><br>";
// Put Query result into array
$result_array = mysqli_fetch_array($result, MYSQLI_ASSOC);
echo "Result Array: ";
print_r($result_array);
echo "<br><br>";
// Encode array as JSON and output
echo "JSON: ";
echo json_encode($result_array);
?>
我输入的网址是http://bandsly.com/api.php?bid=1,这是我在浏览器中得到的输出...
Database: Connected successfully
BID: 1
SQL Query: SELECT id, bandname, members, bio, songlist FROM bands WHERE id='1'
Result:
Result Array:
JSON: null
当我在数据库 (PHPmyadmin) 中手动运行查询 SELECT id, bandname, members, bio, songlist FROM bands WHERE id='1' 时,它工作正常,并且我得到了 1 行返回的正确值。
(http://i.stack.imgur.com/d3ZPJ.png)
任何帮助将不胜感激!
*****编辑*****
好的,我想我找到了问题...我的“成功连接”没有正确写入,并且总是看起来不错。看起来修复后,我有数据库连接问题。
我要去查找数据库连接设置并尝试修复它。
感谢大家的帮助!
【问题讨论】:
-
你可以使用
mysql_fetch_assoc($result); -
$con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");一切都好吗?
-
感谢@aldrin27 - 我会尽量保持精简。
-
你能用这个来检查
mysqli_query是否正在以if (mysqli_query($con, $sql) === TRUE) {执行查询