这是我的函数/类
class user
{
public function get_data($username)
{
global $pdo;
$query = $pdo->prepare("SELECT * WHERE user_name = ?"); //display oldest to newest
$query->bindValue(1, $username);
$query->execute();
return $query->fetch();
}
}
以下是我的调用方式。
$users = new user;
$user = $users->get_data($_POST['username']);
$_SESSION['username'] = $user['user_name'];
$_SESSION['id'] = $user['user_id'];
$_SESSION['credits'] = $user['user_credits'];
这是我的 HTML
<li class="right"><a href="#">Hello, <?php echo $_SESSION['username']; ?>.</a></li>
<li class="right"><?php echo $_SESSION['credits']; ?></li>
<li class="right"><?php echo $_SESSION['id']; ?></li>
所以出于某种原因,只有 $_SESSION['username'];
在 html 中打印出来,credit/id 没有值所以它不显示任何东西,是我的查询对吗?如果显示用户名,我认为它应该可以工作。
最佳答案
在
?bindValue
之前执行
$query->execute();
$query->bindValue(1, $username);
应该是
$query->bindValue(1, $username);
$query->execute();
另外,您的查询是错误的
"SELECT * WHERE user_name = ?" // SELECT from where?
应该是这样的
"SELECT * FROM myTable WHERE user_name = ?"
关于php - Mysql 查询不分配/返回变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17185533/