MySQL php使用另一列获取列(使用用户名获取密码)

2024-01-26

成功验证数据库中存在用户名后,我需要验证密码是否也匹配。因此,我需要从数据库中检索哈希密码,对吗?或者我还有其他选择吗?

我使用 PHP 5.5 API bcrypt 进行哈希处理。当我从数据库获取密码时,我的代码会给我一个 500 内部服务器错误。我该如何正确地做到这一点?

这是我的 php 代码:

// If found username, check password, else respond invalid username
if($countRows!==0){
    // Get hash from database
        // Prepare statement
        $stmt = $conn->prepare('SELECT password FROM users WHERE username = ?');

        // Bind
        $stmt->bind_param('s', $ps_username);

        // Set Parameters
        $ps_username  = $username;

        // Execute
        $hash = $stmt->execute();

        // Check password
        if (!password_verify($password, $hash)) {
            if($error != ""){
                $error .= '<br>';
            }
            $error .= 'The user or password you entered do not match, please try again.';
        }
        else {
          echo 'OK';
            // Session start
            // Redirect user to profile/homepage
        }
}

有人可以推荐一些可以让我学习 SQL 命令的东西吗?我找不到一个好地方。


执行() http://php.net/manual/en/mysqli-stmt.execute.php不返回任何列数据。它返回一个布尔值(真/假)。这是您的代码块首先失败的地方:

    $hash = $stmt->execute();

您可以在此处查看有关如何从结果集中获取数据的示例:http://php.net/manual/en/mysqli-stmt.fetch.php http://php.net/manual/en/mysqli-stmt.fetch.php

一个例子是:

$stmt->execute();
$stmt->bind_result($hash);
$stmt->fetch();

回应:

有人可以推荐一些可以让我学习 SQL 命令的东西吗?

这对于 Stackoverflow 来说几乎是题外话,但是 mysqli 的 PHP 手册可以通过大量示例向您展示如何很好地使用 mysqli API。如果您想学习结构化查询语言本身,那么有大量的外部资源,包括 MySQL 的文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL php使用另一列获取列(使用用户名获取密码) 的相关文章

  • 如何消除 HTML 内容周围的边距?

    以下 HTML 显示正常 div style width 100px height 100px background red div Hello div div
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • @media语法/可能的组合

    我见过其中一些 media print media screen handheld print projection media all media all and property value media screen and prope
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 响应式图像 - srcset 和尺寸属性 - 如何正确使用两者:基于设备像素比和基于视口的选择一起?

    到目前为止 我经常读到这个问题 并且它也发生在我自己的项目中 这里介绍一下我到目前为止所发现的关于 srcset 和 size 属性的内容 关于如何使用有两种不同的可能性srcset 属性 来源 w3c http w3c github io
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • HTML5 MediaSource 适用于某些 mp4 文件,但不适用于其他文件(相同的编解码器)

    我正在玩 MediaSource API 代码直接取自 Mozilla 的示例页面 https developer mozilla org en US docs Web API MediaSource endOfStream https d
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • CSS溢出文本显示在几行中,没有断字

    我有一些长文本显示在 div 中 该 div 具有固定的宽度和高度 我希望文本显示在几行上 作为 div 高度 并且句子单词不会中断 一行中的单词前缀和下一行中的继续 此外 我想在末尾添加省略号最后一句话 CSS white space n

随机推荐

  • GWT - 从外部 javascript 调用实例方法

    我们可以在 GWT 中使用这个 entry 方法来允许外部 javascript 执行 java 方法 你可以看看他们文档中的解释https developers google com web toolkit doc latest DevG
  • 自定义 Jquery UI 日期选择器

    我很可能怀疑这是不可能的 但我想知道是否有人曾自定义 Jquery UI 日期选择器上显示的日历以更改日期 这是我的情况 我的公司使用会计年度而不是日历年 每年从不同的一天开始 我实际上同时制作了一个 Excel 日历 我可以在 javas
  • 我们可以在 SQL 语句中同时使用 SUM 和 Max 函数吗?

    我有以下要求 CODE Marks A 50 A 50 B 60 B 60 C 20 C 20 现在 我想编写一个查询来显示最高得分手的代码和分数 在这个例子中是B和120 如何用SQL编写它 标准SQL SELECT Code MAX S
  • 让码头以正确的时区登录

    我正在使用 Jetty 8 并配置 jetty xml 来自定义 requests log 文件 我的问题是 Jetty 正在提供带有 GMT 时区时间戳的日志 我在英国 但现在是夏令时 GMT 1 又名 BST 大概是因为
  • 将drawableLeft与按钮的文本对齐

    这是我的布局 我面临的问题是可绘制复选标记 我将如何将其与文本对齐 两者都在按钮内居中 这是 XML
  • 在 ggplot2 中绘制一系列填充六边形

    我正在尝试在 ggplot2 中创建填充六边形 以六边形间隔的晶格为中心的多边形 的镶嵌 我已经使用 plot 命令完成了此操作 但正在努力将其转换为 ggplot 这是设置的代码 Generate a lattice of points
  • Firebase:Google api 密钥限制不起作用

    Firebase 在 Google API 控制台上为我创建了一个 API 密钥 我在那里添加了一个限制 使其只能由具有特定包名称和指纹的 Android 应用程序使用 不过 我仍然可以使用具有不同包名称的密钥 我更改了 Gradle 的应
  • 夜巡 - 使用 chromedriver

    所以我在堆栈上看到了类似的问题here https stackoverflow com questions 27601103 launch tests in chrome with nightwatchjs on mac os connec
  • 拆分逗号分隔值并将它们映射到 SQLite 中的原始 ID

    我有一张桌子叫articles包含以下格式的数据 id categories 1 123 13 43 2 1 3 15 3 9 17 44 18 3 出于测试目的 您可以使用以下 SQL 命令创建此表 CREATE TABLE articl
  • gen/R.java 应该在 Android Studio 项目中的哪里创建?

    我不知道我的项目中是否存在该文件夹 我已经执行了我的应用程序 但我在我的项目中找不到这个文件夹 它通常位于哪里 构建项目后 android studio 将自动为您的项目创建 R java 您可以在以下位置找到它 your app name
  • 将 IIS Web 应用程序发布到网站根目录?

    我正在尝试使用 Web 部署将 Web 应用程序导入 IIS7 我使用 Visual Studio 的 发布 Web 功能将其打包成 ZIP 文件 当我选择 zip 时 我会进入 应用程序包信息 屏幕 它要求我进行的设置之一是 应用程序路径
  • 从db到css文件?

    我在数据库表中有一小部分 css 项目 我需要将其转换为 css 文件以包含在页面上 我怎样才能在 Rails3 中做到这一点 有没有办法可以直接从 stylesheet link 标记调用它 我是否需要通过一些 ruby 来打开文件并将其
  • 如何修复模块“tensorflow”没有属性“get_default_session”

    请帮忙解决这个问题 我使用 ImageAI 来检测汽车 但它不起作用 我是这方面的新手 抱歉 from imageai Detection import ObjectDetection import os execution path os
  • PDFKit - PDFPageOverlayViewProvider 与 PKCanvasView 不转发触摸事件 - WWDC22 会话 10089

    我正在尝试利用PDFPageOverlayViewProvider的议定书PDFView类在PDFKitiOS 16 引入的框架 用于显示PencilKit PKCanvasView位于 PDF 文档之上 以便用户可以在 PDF 上绘制内容
  • 应用类和属性选择器

    我想设置这个元素的样式
  • 在 Docker 容器中运行旧的 Linux 版本?

    我有一个二进制应用程序 无法在 Feisty 之后的 Ubuntu 版本上运行 是否可以构建包含 Feisty 的 Docker 映像并在我的现代系统上运行它 我将添加比评论中允许的更多细节 这些是我用来获取在 Docker 0 7 1 容
  • 在 Windows 10 上安装 PyPotrace

    我想在我的 Windows 10 计算机上安装 Potrace 并将其与 python 2 7 5 一起使用 我正在按照该网站的安装说明进行操作 https pypi python org pypi pypotrace https pypi
  • C# TextWriter 每 1024 个字符插入换行符

    我正在使用文本编写器将数据写入文本文件 但如果该行超过 1024 个字符 则会插入换行符 这对我来说是一个问题 关于如何解决此问题或增加字符限制有什么建议吗 textWriter WriteLine strOutput 非常感谢 使用 Wr
  • 将对象传递给节点错误类返回不可访问的对象

    我要返回一个Error对象 我向其传递一个对象 而不是简单的消息 if err return myCallback new Error error code sample machine readable code error messag
  • MySQL php使用另一列获取列(使用用户名获取密码)

    成功验证数据库中存在用户名后 我需要验证密码是否也匹配 因此 我需要从数据库中检索哈希密码 对吗 或者我还有其他选择吗 我使用 PHP 5 5 API bcrypt 进行哈希处理 当我从数据库获取密码时 我的代码会给我一个 500 内部服务