从php中的对象打印单个值

时间:2014-01-17 20:01:22

标签: php mysql object

我的脚本中有设置的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 />";
    }

但我需要使用密钥从表中打印单个值。

注意:我知道我可以从我的查询中过滤,但我想选择我的所有表格来打印同一页面中不同位置的值组。

2 个答案:

答案 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;