0

我有一个获取 som 用户值的函数。用户名和电子邮件。

现在我希望这些值在两个表单字段中回显。

这是可能的还是我需要两个不同的功能?

我在想这样的事情

        function fetch_user_value($username,$email){
        global $db;
        $query = $db->query("SELECT `username`,`email` FROM `user` WHERE id = {$_SESSION['uid']} ");
        $row = $query->fetch(PDO::FETCH_ASSOC);
        echo $row['username'];
        echo $row['email'];
        } 

    <input type='text' name='username' id='username' value="<?php echo fetch_user_value('username'); ?>" />


<input type='text' name='email' id='email'  value="<?php echo fetch_user_value('email'); ?>" /> 
4

3 回答 3

2

试试这个:

//删除了您传递的参数,因为您仅基于 sessionid 获取值

function fetch_user_value(){
  global $db;
  $query = $db->query("SELECT `username`,`email` FROM `user` WHERE id = {$_SESSION['uid']} ");
  $row = $query->fetch(PDO::FETCH_ASSOC);
  return $row;
}

// 与其调用两次,不如只调用一次

$userD = fetch_user_value();

<input type='text' name='username' id='username' value="<?php echo $userD['username']; ?>" />
<input type='text' name='email' id='email'  value="<?php echo $userD['email']; ?>" /> 
于 2013-04-16T10:05:04.360 回答
1

虽然 user868766 的回答是正确的,但考虑让这样的功能更有用。一个通用的,从任意查询中返回所需的结果:

$user = $db->getRow("SELECT username,email FROM user WHERE id =?i",$_SESSION['uid']);

有了好的抽象库,你就不需要为这种情况指定函数。

于 2013-04-16T10:20:55.643 回答
0

只需使用一个功能,这样:

  function fetch_user_value($field){
     global $db;
     $query = $db->query("SELECT ".$field." FROM `user` WHERE id = {$_SESSION['uid']} ");
     $row = $query->fetch(PDO::FETCH_ASSOC);
     echo $row[$field];
    } 
于 2013-04-16T10:04:23.483 回答