设置SQL select语句的魔术方法


__set magic method for sql select statements

在这里,我将创建一个使用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);