使用WHERE子句过滤SQL SELECT语句
我有这个代码在某处被翻录,但我有问题试图使用WHERE子句过滤结果。我想要做的是在语句中包含一个WHERE子句,如WHERE name ='John',以便仅获取与人名相关的特定记录,而不是像当前代码那样获取所有人的全部结果。这里是我的代码:使用WHERE子句过滤SQL SELECT语句
$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;
WHERE子句属于底:
$query = mysql_query("SELECT @rownum := @rownum + 1 AS urutan, t.*
FROM customer t,
(SELECT @rownum := 0) r WHERE t.name = 'John'");
你摇滚兄弟!像魔术一样工作!我在声明的末尾尝试了相同的代码,但是我从来没有这样做过。在列名的开头。什么是“t”?在声明中的意思是? –
实际上它不应该有所作为。你给了'customer'表的别名't'。您还正在创建一个即时呼叫'r'的单记录表。因此,由于查询中有多个表,我使用表限定符来表示列所在的位置.'name'属于't',所以它是't.name'。 –
我现在明白了。非常感谢! –
你真的不应该使用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);
@ e4c5 ...是啊... mysql_被贬低,就像我在我原来的帖子中提到的那样,我只是简单地粘贴了一切,因为它是从我从它取得的片段中提取的。在我的工作环境中,我已经转向mysqli_。我只有理解PDO的问题,但我会继续学习。非常感谢你的回复。 –
你可以写“选择.. 。,t。* FROM customer t where name ='John''...你在用什么语言? PLZ标记它 – Zeina
这显然不是Oracle。我已经移除了标签。 –
为什么你不能简单地使用where子句? – e4c5