我有一个获取用户值的函数。用户名和电子邮件。
现在我希望这些值在两个表单字段中回显。
是可能的还是我需要两种不同的功能?
我想这样的事情
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'); ?>" />
答案 0 :(得分: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']; ?>" />
答案 1 :(得分:1)
尽管user868766的答案是正确的,但请考虑使这样的功能更有用。 一个通用的,用于从任意查询中返回所需的结果:
$user = $db->getRow("SELECT username,email FROM user WHERE id =?i",$_SESSION['uid']);
使用良好的抽象库,您不需要这种情况下的指定函数。
答案 2 :(得分: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];
}