1

我正在开发一个网络应用程序,但遇到了一个小问题。我在数据库中有一个表,persons,它由以下字段组成:id、位置(在公司中)、用户名、名字、姓氏。我正在处理一个 edit_user 页面。我有一个主页列出所有用户的名字+姓氏。然后我可以单击名称,这会将我带到与该用户对应的 edit_user 页面。但是,我在网站上所做的更新不会发送到数据库(参见下面的代码)。

//Inserting updates into database
        $query = "UPDATE person SET
            privilege  = '{$privilege}',
            nexus = '{$nexus}',
            firstname ='{$firstname}',
            lastname = '{$lastname}'"; 
        $query .="  WHERE id={$personid}";
        $result = mysql_query($query,$connection); 
        if (mysql_affected_rows() == 1) { 
            $message = "User was successfully updated"; 
        } else { 
            $message = "User was not updated";
            $message .= "<br/>" .mysql_error();
        }

我的预感是 {$personid} 有问题,其定义如下:

function find_selected_user() {
    global $user;
    if (isset($_GET['personid'])) { 
        $personid = $_GET['personid'];
        return $personid
    } else {
        $user = NULL; 
    }
}

(上面的函数应该返回一个 $user 信息的数组)请帮助——我被困住了!我敢肯定这很简单,但我想了太久了

4

2 回答 2

2

你忘了结局;这里的字符:

return $personid

应该:

return $personid;
于 2012-05-15T13:25:36.750 回答
2

您可以将完整的$query变量回显到屏幕上或将其保存在日志中吗?

复制此输出并尝试使用 mysql 命令行或 phpmyadmin 来测试 sql 查询。

或者也许echo mysql_error();看看是否有错误被报告。

也许您的{$personid}变量没有按照您的想法填充。

于 2012-05-15T13:28:16.957 回答