在这里,我将创建一个使用PHP __set魔术方法与SQL select一起工作的类。我的var_dump数组返回array(0) { }
在浏览器中。我犯了什么错误?
class helper{
public function __set($table,$id){
$dbConfig=array("localhost","itXXXXX","itXXXXX","u?XXXXXXX");
$pardConfig=new PDO('mysql:host='.$dbConfig[0].';'.'dbname='.$dbConfig[1],$dbConfig[2],$dbConfig[3]);
$sql=$pardConfig->prepare("SELECT * FROM ".$table."WHERE id=".$id);
$sql->execute();
$result=$sql->fetchALL(PDO::FETCH_ASSOC);
var_dump($result);
}
}
$helper = new helper();
$helper->pard_menu = 99;
查看查询产生的错误。
表名和WHERE
关键字之间缺少空白:
$sql=$pardConfig->prepare("SELECT * FROM ".$table."WHERE id=".$id);
// HERE ------------------------------------------^
改为:
$sql=$pardConfig->prepare("SELECT * FROM ".$table." WHERE id=".$id);