2017-01-16 152 views
0

我对PDO非常陌生。我目前面临的问题是,我试图从列中获取用户名,但我不知道如何正确获取它。我设法找到用数据库中的电子邮件验证用户电子邮件,现在我只需要获取UserFirstName列并将其存储在一个变量中。如何从pdo中的此列获取数据?

$data = array(); 
if(isset($_POST['email'])){ 
    $data = $_POST['email']; 


      if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) { 
       $data = $_POST['email']; 

      $stmt = $pdo->prepare('SELECT * FROM users WHERE UserEmail = :UserEmail'); 
       $stmt->execute(array(':UserEmail' => $data)); 
+1

所以你基本上是问如何获取与PDO连续? –

+0

'$ stmt-> execute('应该是'$ result = $ stmt-> execute('和'var_dump($ result);' – samayo

+0

@samayo它宁愿没有意义这样做 –

回答

-1

变化查询:

$stmt = $pdo->prepare('SELECT UserFirstName FROM users WHERE UserEmail = :UserEmail'); 

要执行:

$stmt->execute(array(':UserEmail' => $data)); 

然后为参考抓取单个列

$result = $stmt ->fetchColumn(); 
print("name = $result\n"); 

http://php.net/manual/en/pdostatement.fetchcolumn.php

+0

它返回无效的参数号:没有参数绑定在“$ result = $ stmt - > fetchColumn();” – jake

+0

这是因为你需要绑定参数,使用执行你在问题中已经有了:'$ stmt-> execute(array(':UserEmail'=> $ data));' – Qirel

+1

哦,我现在看到了!谢谢你清除它并花费你的时间! – jake