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使用另一列获取列(使用用户名获取密码) 的相关文章

  • 使 IPTC 数据可搜索

    我对 IPTC 元数据有疑问 是否可以通过 IPTC 元数据 关键字 搜索不在数据库中的图像并显示它们 我将如何执行此操作 我只需要一个基本的想法 我知道 PHP 有 iptcparse 函数 我已经编写了一个函数来获取画廊文件夹和所有子目
  • Symfony - 自定义验证器和依赖注入

    我正在尝试对自定义验证器使用依赖项注入 以便能够使用实体管理器 我遵循 Symfony 示例 依赖注入 http symfony com doc current cookbook validation custom constraint h
  • PDO 多查询“SQLSTATE[HY000]:一般错误”

    我仍在学习 PDO 所以我可能会错过一些东西 但基本上我正在尝试将一行插入表中 然后选择生成的 id 我不确定它是否喜欢一个 pdo 语句中的两个查询 这是我用来执行 SQL 的代码 public function ExecuteQuery
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • 预期响应代码 250,但收到代码“530”,并显示消息“530 5.7.1 需要身份验证”

    我尝试配置 SMTP 邮件时遇到此错误laravel 这是我的配置 env MAIL DRIVER smtp MAIL HOST smtp mailtrap io MAIL PORT 2525 MAIL USERNAME fff3c01db
  • 清理 CSS 抖动

    我已经构建了这些圆圈 当鼠标悬停时它们会扩展边框 我现在遇到的唯一问题是有时圆圈会抖动 摇晃 当我设置transition all 1s ease in out 超过 0 2 秒 有解决这个问题的方法吗 还是事情就是这样 这是其中的代码Js
  • 向下滚动时如何使图像移动?

    这是我想要实现的目标的示例 https www flambette com en https www flambette com en 我尝试过更改图像的 css 属性 但效果不能满足我的需求 我尝试过以下代码 mydocument on
  • 将字符串编码为 HTML 字符串 Swift 3

    如何快速编码字符串以删除所有特殊字符并将其替换为其匹配的 html 编号 假设我有以下字符串 var mystring This is my String That s it 然后用它的html编号替换特殊字符 38 39 gt 62 但我
  • 让 PHP 脚本永远循环执行队列系统中的计算作业

    目前 我有一个永远在我的服务器上运行的 perl 脚本 检查 SQS 是否有要计算的数据 该脚本已经运行了大约 6 个月 没有出现任何问题 所以 现在我想切换到 PHP 的 CLI 并让脚本永远循环在那里 主要是因为我对PHP比较熟悉 Ba
  • 从 https 切换到 http 时违反 RewriteRule

    我写了很多重写规则 in my htaccess文件 但是当我从https to http页面 它不遵守这些规则 NOTE 本地主机上一切正常 问题出在服务器上 UPDATE 这是我的website http www charityrumm
  • 交响乐 2 |修改具有文件(图片)字段的对象时出现表单异常

    我正在使用 Symfony2 我有一个实体Post有标题和图片字段 我的问题 当我创建帖子时一切都很好 我有我的图片等 但是当我想修改它时 我遇到了 图片 字段的问题 它是一个上传的文件 Symfony 想要一个文件类型并且它有一个字符串
  • Symfony2 将复选框值从 0/1 更改为“no”/“yes”

    我创建了一个带有一个复选框的表单 用户设置类型 php public function buildForm FormBuilderInterface builder array options builder gt add newslett
  • 如何使页面上的所有内容变大?

    如果我在浏览器中打开我的网站并按Ctrl 有几次 一切都变得更大 网站对我来说看起来更好 我可以通过在 HTML 代码中添加一些内容来实现相同的效果吗 以便用户默认看到更大的所有内容 而无需按Ctrl 我想让所有东西都变大 文本和图像 如果
  • PHP 将日期与今天的日期进行比较

    我正在尝试采用以下格式的信用卡到期日期mm yy并查看该日期是否已过 以便我知道信用卡是否已过期 如果已经过期 则一类expired被插入到 tr 我的代码结果检查了 05 16 的样本日期 并且脚本显示该卡尚未过期 而显然该卡已经使用了一
  • 检测 JavaScript 中的焦点丢失

    我希望能够检测 JavaScript 中任意元素何时失去焦点 因此我可以构建一个类似于 jEdit 的内联编辑工具 我不能依赖 jQuery 来实现这个库 所以我需要一个本机方法来完成它 我查看了 onblur 这似乎是正确的事情 但 MD
  • IE 中的文件上传按钮和奇怪的文本光标行为

    我构建了一个上传按钮 其格式类似于典型的 html 按钮 而不是浏览器标准文件上传表单 该方法是设置锚元素的样式并在顶部覆盖透明文件输入元素 这种方法在除 IE 之外的所有浏览器中都可以正常工作 在 IE 中 当用户单击上传按钮时 会出现一
  • html输入数字,min + step,使step忽略min?

    是否有可能使step忽略min属性
  • 重复密码在 Yii2 中不起作用

    我在模型中编写的规则如下 public password repeat inheritdoc public function rules return password required password string min gt 6 p
  • Javascript 替换为正则表达式无法正常工作

    我正在尝试使用正则表达式验证名称 正则表达式阻止用户连续输入 2 个空格或点 这是我的代码 function test input var regex A Za z 0 1 s 0 1 input value input value rep
  • Ie11 不应用媒体查询样式

    IE11 忽略我的媒体查询并始终使用移动 CSS 奇怪的是 如果我改变浏览器宽度 即使只是 1 2 像素 浏览器也会自行渲染并显示媒体查询 我尝试了 css lint 我的 css 中没有错误 我的CSS没有什么特别的 只是简单的 css

随机推荐

  • 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 内部服务