Php 将函数返回值设置为公共/静态变量
学生表包含: 身份证件 名字 姓氏 函数get_db_fields获取学生表字段Php 将函数返回值设置为公共/静态变量,php,mysql,Php,Mysql,学生表包含: 身份证件 名字 姓氏 函数get_db_fields获取学生表字段 class Student{ public function get_db_fields(){ $sql = "SELECT * FROM students"; $result = mysql_query($sql); if(!$result){ die("Failed :" . mysql_error()); }
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
}
错误:解析错误:语法错误,第33行的C:\Program Files\xampp\htdocs\ieti\includes\student.php中出现意外的T_变量创建构造函数,并将
get_db_fields
返回的值分配给成员变量db_fields
。成员变量只能用编译时计算的值初始化
2.) $database_fields = $this->get_db_fields();
class Student{
public $db_fields;
public function __construct() {
$this->db_fields = $this->get_db_fields();
}
// Rest of your code
在这里使用“数组”是不对的,应该是
public $db_fields =$this->get_db_fields();
第二,类有用于此的构造函数
所以
此外,现在不鼓励使用mysql_查询,如果您正在使用面向对象的查询,请使用PDO创建一个构造函数,并将
get_db_fields
返回的值分配给成员变量db_fields
。
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();
}