这是我的代码:
class Photograph extends DatabaseObject {
protected static $table_name="photographs";
protected static $db_fields=array('id', 'filename', 'type', 'size', 'caption','album_id');
public $id;
public $filename;
public $type;
public $size;
public $caption;
//public $album_id;
protected static $album_id;
private $temp_path;
protected $upload_dir="images";
现在,当我在另一个页面上使用下面的这个功能时,比如'$photos = Photos::find_by_album();'
我收到一条 sql 错误,上面写着:“数据库查询失败:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的“=”附近使用的正确语法
public static function find_by_album($album_id='')
{
return self::find_by_sql("SELECT * FROM ".self::$table_name."WHERE album_id = ".self::$album_id."");
}
基本上,我要做的是从 $table_name 中获取保存在数据库中的所有值,其中用户输入的 $album_id 等同于在数据库中找到的 album_id。您可能会发现这个问题很简单,但不幸的是,我无法找到解决方案。请问有什么想法吗?提前致谢。:)
编辑:
跟随 Elias Ootegem 先生,
我已经修改了代码,现在看起来像
public static function find_by_album($album_id='')
{ return self::find_by_sql("SELECT * FROM ".self::$table_name." WHERE album_id = ".$album_id."");
}
但是,我仍然遇到同样的错误。我尝试使用此代码:
public static function find_by_album()
{ return self::find_by_sql("SELECT * FROM ".self::$table_name." WHERE album_id = ".$album_id."");
}
现在出现另一个错误,上面写着:未定义的变量:album_id
还有其他想法吗?