我有一个函数来获取一些用户值。用户名和电子邮箱
现在我想让值在两个表单字段中回显。
这是可能的还是我需要两个不同的函数?
我在想这样的事情
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'); ?>" />
试试这个:
//删除你传递的参数,因为你只根据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']; ?>" />
虽然user868766的答案是正确的,但是考虑使这样的函数更有用。一般用途,用于从任意查询中返回所需的结果:
$user = $db->getRow("SELECT username,email FROM user WHERE id =?i",$_SESSION['uid']);
有了好的抽象库,在这种情况下你不需要任何指定的函数
只使用一个函数,如下:
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];
}