gpt4 book ai didi

php - 准备好的 PDO 查询返回 0 个受影响的行

转载 作者:行者123 更新时间:2023-11-29 13:37:30 24 4
gpt4 key购买 nike

我确实花了几个小时在谷歌上搜索,但我不知道我做错了什么。我正在使用 POST,我自己在 phpMyAdmin 中尝试了查询,它有效,但它在 PDO 中不起作用,我不知道为什么。当我使用 mysql_query 时它起作用了,但我想保护自己免受 SQL 注入(inject)。

这是我正在使用的代码:

<?php
if(isset($_POST['user']) and isset($_POST['pass'])) {
$name = $_POST['user'];
$pass = $_POST['pass'];

$db = new PDO('mysql:host=localhost;dbname=*****;charset=utf8', '*****', '*****');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$query = $db->prepare("SELECT * FROM stored WHERE _User LIKE :username AND _Pass LIKE :password");
$query->bindValue(":username", $user, PDO::PARAM_STR);
$query->bindValue(":password", $pass, PDO::PARAM_STR);

$query->execute();

echo $query->rowCount();
}
?>

最佳答案

看起来您正在将第 41 行中的用户名变量命名为 $name,但是当您绑定(bind)第 46 行上的参数时,您将其称为 $user。

关于php - 准备好的 PDO 查询返回 0 个受影响的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18556480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com