如何在 PHP 中为变量分配数据库表中的值

Posted

技术标签:

【中文标题】如何在 PHP 中为变量分配数据库表中的值【英文标题】:How can I assign to a variable a value from a database table in PHP 【发布时间】:2017-05-05 15:49:57 【问题描述】:

如何在 php 中将数据库表中的值分配给变量。我发现的一切都不起作用。它们充满了错误,我试图修复它们,因为那是旧的 php 代码,但我至少还有一个错误:(。

所以我有一个名为 authentication 的数据库,一个名为 users 的表,该表中的一列称为 coin,我想将来自全局变量 $_SESSION['username'] 的特定用户名的硬币值分配给一个变量用于WHERE username = "'$_SESSION['username']'"(用户名也是表中的一列)。

【问题讨论】:

展示你的尝试,我们会告诉你哪里出错了。 对于您的下一个问题,请转至Help Section,然后阅读What types of questions should I avoid asking? 和How to Ask a Question on ***。 首先你要学习一些教程 【参考方案1】:
$host = 'localhost'; //change it to your host
$dbname = ''; //your dbname
$username = ''; //mysql username
$password = ''; //your password

try 
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

    $sql = 'SELECT coins
               FROM users WHERE username ='.$_SESSION["username"].' LIMIT 1';

    $stmt = $pdo->prepare($sql);
    $stmt->execute(); 
    $row = $stmt->fetch();
    //var dump row and see if it has require data or not, if it has, assign it the variable you want to use.
    var_dump($row);
 catch (PDOException $e) 
    die("Could not connect to the database $dbname :" . $e->getMessage());

如果有帮助,请告诉我。我没有测试代码。但是,它应该可以工作。

祝你好运!

【讨论】:

我刚刚看到了。我不认为我做到了,或者如果我做到了,我错误地按下了它,因为我是堆栈溢出的新手.. 我什至不知道这是一件事:)。我正在按下向上按钮,上面写着“感谢您的反馈!声望低于 15 的人的投票会被记录,但不要更改公开显示的帖子得分”.. 我没有按下向下按钮..跨度> 它说“C:\wamp64\www\it\logged\index.php:22:boolean false”我想我没有做对..它存储了“硬币”的值" to $row .. 如果我很笨,我很抱歉,但我是初学者。 (我的英语也很差,因为英语不是我的主要语言) 我可以通过电子邮件与您联系吗? @new_user:您的代码容易受到 SQL 注入的攻击。您已经在使用准备好的语句 - 只需绑定参数,您的代码就是安全的。 @Pharaoh 但它对我不起作用,我什至不需要脆弱..我这样做是为了一个项目..我不会托管网站跨度>

以上是关于如何在 PHP 中为变量分配数据库表中的值的主要内容,如果未能解决你的问题,请参考以下文章

将 MS 访问表中的值分配给变量

如何仅使用一个控制器动态检索表?

提交后数据库表中的值没有更新

如果具有相同的 id 和相同的值或值在 PHP 中为空,则合并行

涉及因素的数据表分配

如何将数据库中的值放入表中的特定列