簡體   English   中英

使用PDO和MySQL從表中的列檢索值

[英]Retrieve value from column in table using PDO and MySQL

我使用以下內容登錄我的用戶,

/*** select the users name from the database ***/
    $dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $dbh->prepare("SELECT * FROM access_users 
    WHERE id = :phpro_user_id");

    $stmt->bindParam(':phpro_user_id', $_SESSION['user_id'], PDO::PARAM_INT);

    $stmt->execute();

    $username = $stmt->fetchColumn();

    if($username == false)
    {
    $message = 'Access Error';
    }
    else
    {
        // done
    }

我想檢索用戶level值,這是我表中的一列,我不確定如何使用PDO執行此操作?

我試過了...

print $result->level;

由於無法從您的問題中獲取,您要檢索哪一列,假設它被稱為“用戶名”:

$stmt = $dbh->prepare("SELECT username FROM access_users WHERE id = ?");
$stmt->execute(array($_SESSION['user_id']));
$username = $stmt->fetchColumn();

這就是fetchColumn()工作原理。

但是,如果你想獲得的所有用戶信息, 並且它之間,水平和用戶名,你要恢復通常的方式,一整排。

$stmt = $dbh->prepare("SELECT * FROM access_users WHERE id = ?");
$stmt->execute(array($_SESSION['user_id']));
$row = $stmt->fetch();
if(!$row['level'])
{
    $message = 'Access Error';
}
echo "Hello ".$row['username'];

請嘗試以下方法:

$stmt = $dbh->prepare("SELECT user_id,level FROM access_users 
    WHERE id = :phpro_user_id");

//rest of the code up until here

$result = $stmt->fetchColumn(1);

print("level= $result\n");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM