我有一个问题,我自己也无法解决它,也没有朋友的帮助。
基本上我尝试做的事情是,调用带有 2 个参数的 PHP 脚本:username
和 subscriptionid
。
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" };