我有以下代码:
$query = "SELECT * FROM jos_vm_product_details WHERE global_variant_id = '$global_variant_id'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$row['name'];
}
是否可以仅在匹配内容时选择$ row ['name']:
Select $row['name'] WHERE id = $id
任何帮助将不胜感激
答案 0 :(得分:4)
我不完全理解您的问题,但您可以在查询中将其限制为:
$query = "SELECT * FROM jos_vm_product_details WHERE global_variant_id = '$global_variant_id' AND id = '$id'";
//-------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^
$result = mysql_query($query);
否则,如果您需要在fetch循环中限制它,请使用以下内容:
while($row = mysql_fetch_array($result)) {
if ($row['id'] == $id) {
echo $row['name'];
}
}
但是在我的第一个例子中,在查询的WHERE
子句中可以更好地处理这个问题。
答案 1 :(得分:1)
您应该更改SQL语句并附加
AND id = '$id'
或者,如果您愿意,可以在while
循环中添加条件语句,以便在ID不匹配时跳到下一行(不推荐)
if ($row['id'] != $id) continue
答案 2 :(得分:0)
http://dev.mysql.com/doc/refman/5.5/en/select.html
$query = "SELECT name FROM jos_vm_product_details WHERE global_variant_id = '$global_variant_id'"
答案 3 :(得分:0)
为了您的应用程序的健康:永远不要在您的应用程序层中“过滤”输出,您的数据库旨在以最快和最简单的方式完成所有这些工作。
做迈克尔和鲍罗丁所说的话!