0

我正在尝试更新表“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

5 回答 5

1

尝试使用 mysql_error 查看错误,但我认为你在 password='$pw1' 之后添加了“,”我想试试吧

于 2012-08-02T13:50:00.847 回答
0

查询中的错误使用此

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

还在这里阅读第一个答案,这将向您简要介绍为什么不应该使用 mysql_* 并使用 mysqli 和 PDO ,注意 sql 注入。

于 2012-08-02T13:48:48.880 回答
0

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

尝试:

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

如果更改后的查询没有修复它mysql_error()将解释问题出在哪里。

于 2012-08-02T13:50:57.467 回答
0

你有一个悬空的逗号:

... SET password='$pw1', WHERE ...
                       ^---
于 2012-08-02T14:01:55.993 回答
0

首先 :

session_start();必须是代码的第一行。

然后

 $query = mysql_query("UPDATE nbk6_user SET password='$pw1', WHERE name='$name'");
must be
$pw1=md5($pw1);
 $query = mysql_query("UPDATE nbk6_user SET password='$pw1' WHERE name='$name'");
于 2015-11-23T20:28:39.720 回答