使用PHP更新mySQL数据库中的密码

时间:2012-08-02 13:47:12

标签: php mysql

我正在尝试更新表'nbk6_user'的密码。

当脚本启动时,我收到错误:“Fehler”

我正在做mysql_query吗?

有人可以帮帮我吗?

<?php
include 'conf.php';
$connection = mysql_connect("****", "****", "****");
mysql_select_db($datenbank);
session_start();

if(!isset($_SESSION["name"]))
{
    die("Für diese Seite musst du dich zuerst anmelden!");
}
$name = $_SESSION["name"];

$pw1 = $_POST["pw1"];
$pw2 = $_POST["pw2"];

$pw1 = trim($pw1);
$pw2 = trim($pw2);

if($pw1 == "")
{
die("Kein Passwort gesetzt.");
}

if($pw1 == $pw2)
{
    $query = mysql_query("UPDATE nbk6_user SET password='$pw1', WHERE name='$name'");
    if(!$query)
    {   
        echo "Fehler";
    }
}
else
{
    echo "Die Passwörter stimmen nicht überein";
}
?>

4 个答案:

答案 0 :(得分:1)

尝试使用mysql_error查看错误,但我认为你在密码='$ pw1'之后放了“,”我想这样试试吧

答案 1 :(得分:0)

查询错误 使用这个

$query = mysql_query("UPDATE nbk6_user SET password='".$pw1."' WHERE name='".$name."'");

另请阅读第一个答案here,这将向您简要介绍为什么不应该使用mysql_ *并使用mysqli和PDO来处理sql注入。

答案 2 :(得分:0)

你不应该在SET之后出现昏迷,最好避免在处理MySQL查询时将变量插入字符串中(或者任何字符串,这是不好的做法)。

尝试:

$query = mysql_query("UPDATE nbk6_user SET password='".$pw1."' WHERE name='".$name."'");
if(!$query)
{   
    mysql_error();
    echo "Fehler";
}

如果更改后的查询无法解决,mysql_error()将解释问题所在。

答案 3 :(得分:0)

你有一个悬空的逗号:

... SET password='$pw1', WHERE ...
                       ^---