-1

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

ユーザーのログインを確認しました:

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

ユーザー ID のデータを選択:

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

 ......

編集注:$row2['id']別の結果であり、とは関係ありません$id。ありがとう。

4

2 に答える 2

1

まず第一に、PDO (または任意の準備済みステートメント メカニズム) を使用すると、クエリを作成する際の問題のほとんどを解決できます。このようなスパゲッティ SQL は読みにくいものです。

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

空の値を持つレコードを取得したいですか? NULL は mysql で少し異なる方法で処理されます。あなたがしなければなりません:

SELECT * FROM table WHERE field IS NULL;
于 2012-04-17T21:48:53.063 に答える
0

試す:

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

また、$row2['id'] は $row['id'] であるべきです

于 2012-04-17T21:34:43.853 に答える