2017-12-21 4 views
0

まず最初に、私は一般的にコーディングするのがとても新しいです。私は、テーブルとSQLデータベースを持っている:

CREATE TABLE "users" (
    `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, 
    `name` VARCHAR NOT NULL, 
    `username`  VARCHAR NOT NULL UNIQUE, 
    `email` VARCHAR NOT NULL, 
    `password`  VARCHAR NOT NULL, 
    `biography`  VARCHAR NOT NULL, 
    `img` VARCHAR 
); 

私は$_SESSION['user']users['id']を比較し、プロフィールページでは、現在のユーザーのすべての情報をプリントアウトしたいです。今の時点で私のコードは次のとおりです。

$query = 'SELECT * FROM users WHERE id'; 
$statement = $pdo->query($query); 

if (!$statement) { 
die(var_dump($pdo->errorInfo())); 
} 


$rows = $statement->fetchAll(PDO::FETCH_ASSOC); 

foreach ($rows as $row) { 
} 

私が欠けてる私は$_SESSION['user']users['id']を比較し、私は特にそのためにコーディングする方法がわからないんだところです。 提案がありますか?

$sth = $dbh->prepare('SELECT * FROM users WHERE id = :id'); 
$sth->bindParam(':id', $_SESSION['user']); 
$sth->execute(); 

して、結果を反復:

+0

'<?ph session_start(); $ query = 'SELECT * FROM users =:id LIMIT 1'; $ステートメント= $ pdo->準備($クエリ); $ statement-> execute(array( ':id' => $ user ['id'])); //それに応じて変数を変更してください $ rows = $ statement-> fetchAll(PDO :: FETCH_ASSOC); if($ rows ['id'] == $ _SESSION ['user']){ // do stuff } –

答えて

0

これは、あなたがそれを行うことができる方法です。

0

元に戻したようなものがたくさんあります。

  1. sqlクエリが不完全であるようです。

    SELECT * FROM users WHERE id='$user_id'

  2. あなたはPDOオブジェクトを初期化されていません。

    $pdo = new PDO('mysql:host=localhost;dbname=your_db;charset=utf8mb4', 'db_username', 'db_password');

完全なコードスニペット:セッションを設定するために、一方の使用$_SESSION['user_id']=$id

<?php 
    session_start(); 

    $user_id=$_SESSION['user_id']; 
    $pdo = new PDO('mysql:host=localhost;dbname=db_name;charset=utf8mb4', 'db_user', 'db_pass'); 

    $user_id=1; 
    $query = "SELECT * FROM engineers WHERE id='$user_id'"; 
    $statement = $pdo->query($query); 

    if (!$statement) { 
    die(var_dump($pdo->errorInfo())); 
    } 

    $rows = $statement->fetchAll(PDO::FETCH_ASSOC); 

    foreach ($rows as $row) { 
     echo $row['name']; 
     echo $row['username']; 
     echo $row['biography']; 
    } 
?> 

関連する問題