0

ユーザーデータを保存する mysql DB を使用してサイトをセットアップしました。データベース構造は次のようになります。

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']; 
}}

値が 1 または 0 の $active があり、好きな場所にエコーできることがわかっています。

編集

まだ変更していない場合は、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 に答える