基本的に、MySQLデータベースと、という名前users
の列があるという名前のテーブルがありますcredits
。現在ログインしているユーザーの整数値を取得するにはどうすればよいですか?
私のコラムは次のとおりです。
- ユーザーID
- ユーザー名
- Eメール
- パスワード
- 役割
- クレジット
最初にユーザーを認証する必要があると思います。そのために利用可能なライブラリをいくつでも使用することも、独自のライブラリを作成することもできます。開始する場所は次のとおりです。
認証されたユーザーの user_id を取得したら、非常に単純な MySQL クエリを作成してクレジットを抽出できます。
// Connect to the database
$connection = new mysqli("localhost", "mysql_user", "mysql_password", "database");
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($statement = $mysqli->prepare("SELECT credits FROM user WHERE user_id=?"))
{
// $user_id is the stored value
$statement->bind_param("i", $user_id);
$statement->execute();
$statement->bind_result($credits);
$statement->fetch();
echo "User has " . $credits . "credits<br/>";
$statement->close();
}
/* close connection */
$connection ->close();
コードは主にhttp://www.php.net/manual/en/mysqli.prepare.phpからコピー/貼り付けされています
現在ログインしているユーザーのuser_id、ユーザー名、または電子メールがわかっている場合、SQLクエリは次のようになります。
"SELECT `credits` FROM `users` WHERE `user_id` = '$user_id'"
"SELECT `credits` FROM `users` WHERE `username` = '$username'"
"SELECT `credits` FROM `users` WHERE `email` = '$email'"
ユーザーテーブルの名前を想定しました"users"
私は通常 PDO を使用しているので、これについてはよくわかりませんが、最初は問題ないと思います。
<?php
$db = mysql_connect("localhost", "user", "password");
$sql = "SELECT credits FROM users WHERE user_id = " . mysql_real_escape_string($_SESSION['userid']);
$result = mysql_query($sql);
$row = mysql_fetch_object($result);
$credits = $row->credits;
echo $credits;