学生表包含: ID 名字 名字
function get_db_fields获取学生表字段。
class Student{
public function get_db_fields(){
$sql = "SELECT * FROM students";
$result = mysql_query($sql);
if(!$result){
die("Failed :" . mysql_error());
}
$db_fields = array();
while($field = mysql_fetch_field($result)){
$db_fields[] = "'".$field->name."'";
}
return join(',',$db_fields);
}
public $db_fields = array($this->get_db_fields()); <--- This is not working
}
return join(',',$ db_fields)='id','firstname','lastname'
我的问题是如何将返回值设置为public $ db_fields。 所以public $ db_fields将是“public $ db_fields = array('id','firstname','lastname')”
到目前为止我尝试了什么
1)
public $db_fields = array($this->get_db_fields()); <--- This is not working
错误:解析错误:语法错误,第33行的C:\ Program Files \ xampp \ htdocs \ ieti \ includes \ student.php中的意外T_VARIABLE
2.) $database_fields = $this->get_db_fields();
错误:解析错误:语法错误,第33行的C:\ Program Files \ xampp \ htdocs \ ieti \ includes \ student.php中的意外T_VARIABLE
答案 0 :(得分:2)
创建构造函数并将返回的值从get_db_fields
分配给成员变量db_fields
。成员变量只能使用在编译时计算的值进行初始化。
class Student{
public $db_fields;
public function __construct() {
$this->db_fields = $this->get_db_fields();
}
// Rest of your code
答案 1 :(得分:0)
public $db_fields = array($this->get_db_fields());
在这里使用'数组'的人不对,它应该只是
public $db_fields =$this->get_db_fields();
两个类有这个构造函数......
所以
public function __construct(){
$this->db_fields = $this->get_db_fields();
}
此外,现在不建议使用mysql_query,如果使用面向对象已经使用 PDO 。