0

我有一个使用存储用户数据的 mysql 数据库设置的站点。数据库结构如下所示:

table = users

columns = Id : username : email : password : active 

在该列下active,值为 1 表示活动,0 表示不活动

当用户为我的网站付费时,该active值从 0 变为 1。

我现在想在用户个人资料中显示用户是否已付款。

如何查询数据库以active基于 获取列的值username并将其保存为变量以供稍后在脚本中使用?

4

1 回答 1

2

你可以这样做:

<?php
            $sql = new mysqli ("host","user","pass" ,"db"); //EDIT with your parameters for DB
            $sql -> set_charset ( 'utf8' );
            if ($sql->connect_errno) {
            printf("Connect failed: %s\n", $sql->connect_error);
            exit();}


$user = $_SESSION['username']; // for example, you need to know what you are looking for

$q = "SELECT active FROM users WHERE username = '$user'";
if ($result = $sql->query($q)) {
while ($row = $result->fetch_assoc()) {
$active = $row['active']; 
}}

您知道 $active 的值为 1 或 0 并且可以随心所欲地回显它

编辑

如果您还没有,您将需要更改您的 connect.php。您能否在没有凭据的情况下发布它,最好使用新代码编辑您的问题

session_start();
require('connect.php');

if (isset($_POST['username']) and isset($_POST['password'])) {
    $username = mysqli_real_escape_string($sql, $_POST['username']); //for security
    $password = mysqli_real_escape_string($sql, $_POST['password']); //for security
    $query = "SELECT * FROM user WHERE username='$username' and password='$password'";


if ($result = $sql->query($query)) {
while ($row = $result->fetch_assoc()) {
$active = $row['active']; }
        $count = $result->num_rows; //and this, too
    }
}
于 2014-10-25T11:47:16.867 回答