我的脚本中有设置的MYSQL表,我在php对象中获取此表,我知道如何使用while()打印整个对象,但我想使用key打印单个值。 / p>
这是MYSQL表:
setting_name setting_value
site_name Blue Box
site_email abdullah@gmail.com
template_dir defualt
language_dir english
date_format d.m.y
time_format h:m
site_logo logo.png
这就是我在对象中获取表格的方式:
$query_set = "SELECT * FROM setting";
$result_set = mysql_query($query_set)
or die ("Error in query: $query_set. " . mysql_error());
$row_set = mysql_fetch_object($result_set);
我可以用这段代码打印整张表:
while($row_set = mysql_fetch_object($result_set))
{
echo "<br />";
echo $row_set->setting_name;
echo " ";
echo $row_set->setting_value;
echo "<br />";
}
但我需要使用密钥从表中打印单个值。
注意:我知道我可以从我的查询中过滤,但我想选择我的所有表格来打印同一页面中不同位置的值组。
答案 0 :(得分:1)
你需要这个查询,但谷歌搜索现在很难。不要忘记过滤您的输入等。
SELECT s.setting_name, s.setting_value
FROM settings s
WHERE s.setting_name IN ('my_key', 'my_other_setting', 'some_other_setting')
如果您只想要该值,请删除“s.setting_name”
答案 1 :(得分:1)
如果只需要一个值,则可以更改SQL查询。像,
$query_set = "SELECT * FROM setting WHERE setting_name='site_name'";
如果必须使用多个值,可以尝试使用
$data = array();
while ($result = mysql_fetch_assoc($resource)) {
$data[$result["setting_name"]] = $result["setting_value"];
}
//Now you will be able to use it like this.
echo $data["site_name"];
使用对象
$data = stdClass();
while ($result = mysql_fetch_object($resource)) {
$data->$result->setting_name = $result->setting_value;
}
// For using it.
echo $data->site_name;