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查询做同样的工作吗?
答案 0 :(得分:6)
SELECT c_value
FROM config
WHERE c_name IN ('a', 'b')
答案 1 :(得分:4)
$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'];
}
答案 2 :(得分:2)
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
答案 3 :(得分:1)
如果你想要关联数组,请使用mysql_fetch_assoc。
答案 4 :(得分:1)
第一个选项:
$result=mysql_query("SELECT c_value FROM config WHERE c_name in ('a','b') ");
while($row = mysql_fetch_array($result)){
echo $row['c_value'];
}
OutPUt
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*