[英]Mysql query not assigning/returning variables?
Here's my Function/Class 这是我的职能/班级
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();
}
}
Here's how I do my Call. 这是我打电话的方式。
$users = new user;
$user = $users->get_data($_POST['username']);
$_SESSION['username'] = $user['user_name'];
$_SESSION['id'] = $user['user_id'];
$_SESSION['credits'] = $user['user_credits'];
Here's my HTML 这是我的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>
So for some reason, only the $_SESSION['username'];
因此由于某种原因,只有$_SESSION['username'];
print's out in the html, the credit/id doesn't have a value so it doesn't display anything, is my query right? 在html中打印出来,credit / id没有值,因此不显示任何内容,我的查询正确吗? I think it should work if the username is being displayed. 我认为应该显示用户名。
execute
before bindValue
? 在bindValue
之前execute
?
$query->execute();
$query->bindValue(1, $username);
Should be 应该
$query->bindValue(1, $username);
$query->execute();
Also , Your Query is wrong 另外 ,您的查询是错误的
"SELECT * WHERE user_name = ?" // SELECT from where?
Should be something like 应该是这样的
"SELECT * FROM myTable WHERE user_name = ?"
Execute function should be call after bind value 执行函数应该在绑定值之后调用
$query->execute();
$query->bindValue(1, $username);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.