我是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();
}
答案 0 :(得分:2)
你在$this->Fetch();
内进行select()
。我假设这会获取结果集的一行。然后,您可以执行后续的$execute->Fetch()
来实际获得您正在寻找的结果。
如果没有WHERE
子句,可能会有多行。第一个结果行被消耗并由Fetch()
内的select()
进入以太。然后检索第二个行并显示它
使用WHERE
子句,只有一行被消耗到以太中,然后没有实际的行可以获取和显示。