为什么此数据库脚本不返回任何结果


Why does this database script not return any results?

我有一个问题,我自己也无法解决它,也没有朋友的帮助。

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

PHP 脚本应该通过用户名从名为"user"的表中读出用户 ID。然后,在另一个名为 subscriptionlog 的表中,检查用户 ID 是否存在,如果是,请查看他是否有带有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();
?>

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

尝试在页面顶部添加:

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

所以你可以看看你是否有任何错误。

这可能是

您的问题,您的 SQL 语句中缺少结束)

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

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

mysqli_query( $conn, $sql );

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

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