将数据库中的MySQL数据放入变量中

时间:2015-09-07 02:18:12

标签: php mysql select

我正在制作一个基于运气的网站,我想确保他们在旋转之前在他们的帐户上有足够的旋转。

我确实看到http://www.w3schools.com/php/php_mysql_select.asp,但它并不是我真正想要的。

我的这些行名称为:id username email password spins。

我可以从旋转中扣除金额但我无法将其旋转的确切数量放在PHP变量上以放入$ SESSION以用于其他页面。

到目前为止我有多少。

$numSpin = "SELECT * FROM $tbl_name WHERE spins";

然后把它放在$ SESSION

$_SESSION['spinNum'] = $numSpin;

我将如何继续这样做?这不起作用。

1 个答案:

答案 0 :(得分:1)

欢迎来到SO。

好像你对编码非常陌生,所以我会尽力帮助你。

以下是您可以使用的代码,我将在下面解释。

<?php
session_start();
$host = 'localhost'; $db = 'db-name'; $user = 'db-user'; $pw = 'db-pwd';
$conn = new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $user, $pw);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

try {
    $tbl_name = 'table-name-here';
    $un = $username;
    $sql = "SELECT * FROM $tbl_name WHERE username=:un";
    $query = $conn->prepare($sql);
    $query->bindValue(':un', $un, PDO::PARAM_STR);
    $query->execute();
    $row = $query->fetch(PDO::FETCH_ASSOC);
    $totalRows = $query->rowCount();
} catch (PDOException $e) {
    die("Could not get the data: " . $e->getMessage());
}
$_SESSION['spinNum'] = $row['name-of-your-field-with-spin-numbers'];
?>

则...

if($_SESSION['spinNum'] >= 1) {
    // allow them to do something
} else {
    echo "I'm sorry. It looks like you don't have any spins left. Please try again later.";
}

此代码使用pdo_mysql编写。您可能希望阅读here

第2行开始你的会话

第3-5行创建与数据库的连接。确保替换“db-name”,“db-user”&amp; “db-pwd”包含您的信息。

在第8行,将“table-name-here”替换为您的数据库表名

在第9行,您可以将“10”设置为您希望确保帐户持有人拥有的最低号码。

在第19行,将“your-field-with-spin-numbers”更改为数据库表中存储帐户用户可用旋转的字段的实际名称。

现在,您可以在其他网页上使用$_SESSION['spinNum']

不要忘记在任何要使用会话变量的页面顶部使用session_start();

快乐的编码!