我有一个小问题。
我正在使用PDO进行数据库查询。现在我想访问表中一行的单个值。
这是我的代码:
public function select_single_value_login_member($field_name, $key)
{
$select_field = "SELECT {$field_name} FROM DB#######.login_member WHERE id_member = '$key'";
$value = $this->db_link->query($select_field)->fetchObject()->value;
// Zurückgeben
return $value;
}
this->db_link
是一个全局变量,它包含通过PDO的数据库连接。
现在我想在另一个文件中调用此方法:
$admin = $db->select_single_value_login_member('admin', $key);
我现在的问题是,$admin
值为空。
是否有任何代码缺失或错误?
答案 0 :(得分:2)
我不认为您正在寻找属性value
的价值,您可能想要$field_name
属性的值。
所以你的代码应该是这样的:
...
$value = $this->db_link->query($select_field)->fetchObject()->{$field_name};
// here ^^^^^^^^^^^^^
但是,请注意您应该为$key
值使用预准备语句,并针对允许列名称的白名单检查$field_name
以避免sql注入。