[英]PHP mysqli_query won't execute
我正在尝试编写我的第一个基本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
当我手动运行查询SELECT id, bandname, members, bio, songlist FROM bands WHERE id='1'
在数据库(PHPmyadmin)中,它工作正常,我得到1行返回正确的值。
( http://i.stack.imgur.com/d3ZPJ.png )
非常感激任何的帮助!!
*****编辑*****
好吧,我想我发现了这个问题......我的“成功连接”没有正确写入,并且总是回来看起来很好。 它看起来像修复后,我有数据库连接问题。
我要去查找数据库连接设置并尝试修复它。
感谢你的帮助!
你的代码在我的本地系统上似乎没问题http://www.awesomescreenshot.com/image/494275/c6c255cd6924d07196076b32489489de 。 应该存在连接问题。 所以你可以尝试检查连接
查看详细信息
// Connect to db
$con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");
然后你可以尝试ping数据库
/* check connection */
if ($con->connect_errno) {
printf("Connect failed: %s\n", $con->connect_error);
exit();
}
/* check if server is alive */
if ($con->ping()) {
printf ("Our connection is ok!\n");
} else {
printf ("Error: %s\n", $con->error);
}
你的所有代码都是正确的,我在我的本地测试过只需更改你的HOSTNAME就像“localhost”,USER就像“root”一样,PASSWORD就像“你的密码”,DATABASE就像“你的数据库名”。
$con = mysqli_connect("HOSTNAME","USER","PASSWORD","DATABASE");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.