[英]selecting a value from mysql table with 1 query
table:config
+--------+---------+
| c_name | c_value |
+--------+---------+
| a | 1 |
| b | 2 |
| c | 1 |
+--------+---------+
我有两个SQL查询:
$first = mysql_fetch_array(mysql_query("SELECT c_value FROM config WHERE c_name = 'a' "));
$second = mysql_fetch_array(mysql_query("SELECT c_value FROM config WHERE c_name = 'b' "));
我有这些代码:
echo $first["c_value"]; // output will be 1
echo $second["c_value"]; // output will be 2
我可以用1 sql查询做同样的工作吗?
SELECT c_value
FROM config
WHERE c_name IN ('a', 'b')
$result=mysql_query("SELECT c_value FROM config WHERE c_name = 'a' OR c_name='b' ");
while($row = mysql_fetch_array($result)){
echo $row['c_value'];
}
SELECT c_name, c_value
FROM config
WHERE c_name IN('a', 'b');
while($row = mysql_fetch_assoc($result)){
echo $row['c_name'] . " = " . $row['c_value'] . "<br/>";
}
输出:
a = 1
b = 2
如果您希望关联数组作为结果,请使用mysql_fetch_assoc。
第一选择:
$result=mysql_query("SELECT c_value FROM config WHERE c_name in ('a','b') ");
while($row = mysql_fetch_array($result)){
echo $row['c_value'];
}
产量
1
2
你也可以使用它(不使用循环):
$O_Value = mysql_fetch_array(mysql_query("SELECT A.c_value as first_Value, B.c_value as second_Value FROM config A join config B on B.c_name = 'b' and A.c_name = 'a' "));
echo $O_Value["first_Value"]; // *output will be 1*
echo $O_Value["second_Value"]; // *output will be 2*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.