2012-04-17 15 views
-1

私はログインしているとユーザーメンバーIDを取得します。だから私はユーザーIDを印刷します。ユーザーがログインしていない場合、私は0というユーザーIDを印刷します。今すぐ私は任意のデータフォームを選択したときにmysql()$ id = '0';)私のコードは機能しませんし、私は結果を印刷できません。私の問題はid = '.$id.'の一重引用符であると思います。これを修正する方法は?ユーザーIDとidが空の場合にmysqlからPHPを使用してデータを選択

if($_SESSION['login'] > 0){ 
    $id = $row['id']} else { 
    $id = '0';} 

選択データ:

$sql = 'SELECT * FROM data_test WHERE id = '.$id.' AND productid = '.$row2['id']; 

...... 

EDIT注:$row2['id']は別の結果と$idとは関係ありません

があれば、ユーザーのログインを確認しました。おかげさまで

+2

引用符を削除するだけではありませんか? I. '$ id = 0;'? –

+0

'$ row2'はどこにありますか – mgraph

+0

使ってみないでください。 id = '$ id'のように、$ row2のどこに? –

答えて

0

試してみてください。

$sql = "SELECT * FROM data_test WHERE id = '$id' AND productid = '{$row2['id']}'"; 

もすべきである $ ROW2 [ 'ID'] $行[ 'ID']すべてのPDO(または任意のプリペアドステートメントメカニズム)の

1

最初 は解決するだろうクエリを構築する上でのあなたの問題のほとんど。このようなスパゲッティSQLは読み込みにはうまくありません。

ここでは例があります:http://www.php.net/manual/en/pdo.prepare.php

はたぶん、あなたは空の値を持つレコードを取得したいですか?NULLはmysqlで少しずつ異なる方法で扱われます。 する必要があります:

SELECT * FROM table WHERE field IS NULL;