【问题标题】:Putting MySQL data from database into a variable将数据库中的 MySQL 数据放入变量中
【发布时间】:2015-12-02 12:20:15
【问题描述】:

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

我确实看到了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;

我将如何继续这样做?这不能按原样工作。

【问题讨论】:

  • 啊,忘了。我只是编辑帖子

标签: php mysql select


【解决方案1】:

您似乎对编码非常陌生,所以我会尽力帮助您。

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

<?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”和“db-pwd”替换为您的信息。

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

在第 9 行,您可以将“10”设置为您希望确保帐户持有人拥有的任何最小数字。

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

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

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

【讨论】:

  • 老兄,你是上帝!大多数人实际上并没有在这里为您编写代码并进行深入解释,但您只是做到了!你是第一个在 stackoverflow 上非常好的人。大多数人只是把“Too Broad”、“Off Topic”和离开。再次感谢老兄!
  • 我只是来帮忙的。如果我能告诉你更多关于编码的知识,我可能也不会回答。每个人在刚开始时都需要帮助。有些人似乎忘记了这一点,并且似乎忘记了在他们生命中的某个时刻,他们对编码一无所知,需要很多帮助。再次,欢迎来到 SO。
  • 致命错误:在 /srv/disk9/1921240/www/csgothrow.com/spin/checklogin 中出现消息“SQLSTATE[HY000] [2002] 没有此类文件或目录”的未捕获异常“PDOException”。 php:4 堆栈跟踪:#0 /srv/disk9/1921240/www/csgothrow.com/spin/checklogin.php(4): PDO->__construct('mysql:host=;dbn...', NULL, NULL ) #1 {main} 在第 4 行的 /srv/disk9/1921240/www/csgothrow.com/spin/checklogin.php 中抛出
  • 运行文件时出现此错误。会有什么问题? PDO 好像有问题?
  • 你在哪里运行这段代码? xampp 还是在服务器上?
猜你喜欢
  • 2017-03-16
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多