2012-04-17 6 views
-1

Я получаю идентификатор пользователя, если пользователь является логином. поэтому я печатаю идентификатор пользователя. это сработало, поэтому, если пользователь не зашел, я распечатаю 0 для идентификатора пользователя. теперь, когда я выбираю любую форму данных mysql (, если пользователь не зарегистрирован $ id = '0';) мой код не работал, и я не могу распечатать результат. Я думаю, что моя проблема - одинарные кавычки в id = '.$id.'. как это исправить?выберите данные из mysql, используя php, когда id пуст

проверил, если вход пользователя:

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

Можете ли вы не просто удалить цитаты? И.Е. '$ 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']

1

Прежде всего PDO (или любой подготовленный механизм оператор) будет решать большинство ваших проблем при построении запросов. Такой спагетти SQL не очень хорош в чтении.

Вот вам примеры: http://www.php.net/manual/en/pdo.prepare.php

Может быть, вы хотите, чтобы получить записи с пустым значением? NULL обрабатываются в mysql немного по-другому. Вы должны:

SELECT * FROM table WHERE field IS NULL; 
Смежные вопросы