其中子句变量出现故障


where clause variable malfunctioning

我是 oop 环境的新手,这里似乎有些不对劲,我已经搜索了所有内容,但可用的是类内给出的查询字符串。

if(isset($_POST['search'])){
    include('../Classes/class.config.php');
    include('../Classes/class.dbActions.php');
    $execute=new execute();
    $execute->select('SELECT * FROM users where username="'.$_POST['search'].'" ');
    $array=$execute->Fetch();
    echo $array['chasisNo'].'<br/>';
}

当我改变时:

$execute->select('SELECT * FROM users where username="'.$_POST['search'].'" ');

对此

$execute->select('SELECT * FROM users '); 

它通过列出顶部
来完美工作现在这段代码有什么问题,即使我传递一个字符串,比如

$execute->select('SELECT * FROM users where username="oketch" ');

它不起作用

这里是执行类

class execute extends db
{
    private $sqlString;
    private $selected;
    private $querySelected;
    public function select($sqlString)
    {
        $connection=$this->getConnection();
        $this->querySelected=$connection->query($sqlString);
        if($this->querySelected->num_rows>0) {
            $this->Fetch();
        }
        else {
            echo'No Data Available';
        }   
    }   
    public function Fetch() {
        return $this->querySelected->fetch_array();
    }

你正在select()里面做一个$this->Fetch();。我假设这获取了结果集的一行。然后,您执行后续$execute->Fetch()以实际获得所需的结果。

如果没有 WHERE 子句,可能会有多个行。第一个结果行被消耗并被select()内部的Fetch()进入以太。然后检索第二行并显示它。
对于 WHERE 子句,只有一行被消耗到以太中,然后就没有实际的行可供获取和显示。