php - 更改密码表单,如果没有结果

标签 php mysql

出于某种原因,我无法解决这个问题。

$result = mysql_query("SELECT `strPassword` FROM cf_user WHERE `strUserId`='$username'");

    if(!$result){
        echo "The username entered does not exist!";
    }
    else {

        if($newpassword == $confirmnewpassword){
        $sql = mysql_query("UPDATE cf_user SET `strPassword` = '$newpassword' WHERE `strUserId` = '$username'");        
        }

        if(!$sql){
        echo "Congratulations, password successfully changed!";
        }
        else{
        echo "New password and confirm password must be the same!";
        }
    }

每次我得到“输入的用户名不存在”,即使我指定了用户名。我确定 !$results 意味着不等于?我也试了一个 if (mysql_num_rows($result)==0), mysql_num_rows 不存在。

我在没有变量的情况下手动测试了 sql 命令,我得到了一个结果。我已经回应了表格结果,它们符合预期。

感谢您的帮助。

最佳答案

根据您服务器的 php 版本,查询中的变量可能无法正确插入。

你有:

    $result = mysql_query("SELECT `strPassword` FROM cf_user WHERE `strUserId`='$username'");

尝试使用 php 连接运算符(句点),可能会有所帮助(不是居高临下,只是尝试一下,这可能是问题所在。

    $result = mysql_query("SELECT `strPassword` FROM cf_user WHERE `strUserId`='".$username."' ");

当然,这是对您所说的如果删除变量就有效的部分的回应。因此,我假设您在变量区域的查询中存在错误。

我使用 premiumsoft NaviCat 来测试我的查询以确保它们有效,更容易排除故障。您可以通过将查询保存在一个变量中并回显它来查看您的查询是否正确编写,这样您将看到它是否正确地通过管道传输。

即。

$query = "SELECT `strPassword` FROM cf_user WHERE `strUserId`='".$username."' ";

// echoes to browser to see final sql statement.  Don't use in production environment, and make SURE to delete then going live!!!  It will expose you database names and field names to whoever runs the function...
echo $query;

$result = mysql_query($query);

关于php - 更改密码表单,如果没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10436675/

相关文章:

php - PHP 5.3 或更低版本中的数组不区分大小写的键排序

PHP:MY​​SQL 数组到 JSON 停止重复?

php - 调整图像大小以完美适合确定的框

javascript - 使用 AJAX 在 PHP 文件中调用函数,并使用特定于数据库中记录的 ID 来更新记录

php - 这个 usort cmp 函数实际上是如何工作的?

php - 枚举mysql查询中使用的表?

php - 从 zend 框架中的 2 个表中获取数据

php - 在 php mysql 中将 php 变量作为参数传递

mysql - 对于 2 个不同的父表,我应该使用 2 个相同的注释表使用什么 Db 结构

MYSQL Join weeks table with Sales 和 Group by Salesman and Weeks