2017-01-16 127 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