2016-10-04 3 views
0

У меня этот код где-то разорван, но у меня возникают проблемы с фильтрацией результатов с помощью предложения WHERE. То, что я хотел бы сделать, - это предложение WHERE, такое как WHERE name = 'John' в инструкции, чтобы получить только конкретные записи, связанные с именем пользователя, а не все результаты всех, как это делает текущий код. Вот мой код:Сформировать инструкцию SQL SELECT с предложением WHERE

$query=mysql_query("SELECT @rownum := @rownum + 1 AS urutan,t.* 
FROM customer t, 
(SELECT @rownum := 0) r"); 
$data = array(); 
while($r = mysql_fetch_assoc($query)) { 
$data[] = $r; 
} 
$i=0; 
+0

вы можете написать «Выбрать .. ., t. * FROM customer t где name = 'John' '... какой язык вы используете? plz tag – Zeina

+1

Это, очевидно, не Oracle. Я удалил тег. –

+2

Почему вы не можете просто использовать предложение where? – e4c5

ответ

0

ИНЕКЕ принадлежит в конце:

$query = mysql_query("SELECT @rownum := @rownum + 1 AS urutan, t.* 
FROM customer t, 
(SELECT @rownum := 0) r WHERE t.name = 'John'"); 
+0

вы рок bro! Работал как магия! Я попытался использовать тот же код в конце инструкции, но я никогда не добавлял t. в начале имени столбца. Что значит «т.»? означает в заявлении? –

+0

На самом деле это не должно иметь значения. Вы дали таблице 'customer' имя псевдонима' t'. Вы также создаете таблицу с одной записью «на лету», которую вы называете «r». Итак, поскольку в запросе содержится более одной таблицы, я использую квалификатор таблицы, чтобы сказать, где находится столбец. 'Name' принадлежит' t', поэтому это 't.name'. –

+0

Я понял. Большое спасибо! –

1

Вы действительно не должны использовать mysql_ * функции

$query = "SELECT @rownum := @rownum + 1 AS urutan,t.* 
FROM customer t, 
(SELECT @rownum := 0) r WHERE t.name=?" 

$stmt = mysqli_prepare($link, $query) 
mysqli_stmt_bind_param($stmt,"s","Eric"); 
mysqli_stmt_execute($stmt); 
+0

@ e4c5 ... yea ... mysql_ обесценился и, как я уже упоминал в своем оригинальном посте, я просто вложил все, как это было из фрагмента, из которого я его взял. В моей рабочей среде я с тех пор перешел к mysqli_. У меня только проблемы с пониманием PDO, но я буду продолжать учиться. Большое вам спасибо за ваш ответ. –

Смежные вопросы