为什么这个数据库脚本没有返回任何结果?

时间:2015-03-16 16:26:16

标签: php mysql

我遇到了问题,而且我自己也无法解决这个问题。

基本上我尝试做的是,调用带有2个参数的PHP脚本:usernamesubscriptionid

PHP脚本应该通过名为“user”的表中的用户名读出userid。然后,在另一个名为subscriptionlog的表中,检查用户标识是否存在,如果是,请查看他是否有subscriptionid条目。如果是这样,请打印出该表的“状态”变量。

这是我的代码:

<?php

// checkkey.php?user=ZeD&subid=2 -> Called as GET

$servername     = "localhost";
$username       = "username";
$password       = "password";
$dbname         = "database";

$uname      = $_GET["user"];
$subid      = $_GET["subid"];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT status FROM subscriptionlog WHERE subscriptionid = '$subid' AND userid = (SELECT userid FROM user WHERE username = '$uname')";
$result = mysqli_query( $sql );

if( $result === false )
    echo( "error with bitch sql" );

while( $row = mysqli_fetch_assoc( $result ) )
{
    echo $row["status"];
}


$conn->close();
?>

它只是让页面空白,根本没有发生回声。

3 个答案:

答案 0 :(得分:1)

尝试在页面顶部添加:

error_reporting(E_ALL);
ini_set("display_errors", 1);

这样你就可以看出是否有任何错误。

答案 1 :(得分:1)

这可能是您的问题,您在sql语句

中缺少结尾)
$sql = "SELECT status FROM subscriptionlog WHERE subscriptionid = '$subid' AND userid = (SELECT userid FROM user WHERE username = '$uname')";

您的查询调用应该如下所示,$conn作为第一个参数

mysqli_query( $conn, $sql );

答案 2 :(得分:0)

我认为您可能需要检查NULL而不是0

if ($result === NULL) { echo "My result is null" };