如何编写codeigniter之类的查询

Edu*_*elf 8 php codeigniter

问题是它显示来自db的所有行,而不是仅显示包含搜索关键字的行:请帮助我.

public function search($data)
{

    $name = $data["name"];
    $surname = $data["surname"];

    $this->db->select('*');
    $this->db->from('workers');
    $this->db->like('name', '%' . $name . '%');
    $this->db->or_like('surname', '%' . $surname . '%');

    $query = $this->db->get();    
Run Code Online (Sandbox Code Playgroud)

Sha*_*lam 7

你写了像查询一样的 CI 错误的方式。看看文档如何正确编写它

您的查询应该是这样的%。无需添加. 如果您不传递类似函数的第三个参数,则 CI 添加它们。

$this->db->select('*');
$this->db->from('workers');
$this->db->like('name', $name);
$this->db->or_like('surname', $surname);

$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)

最好使用一些像这样的有效数据。

$this->db->select('*');
$this->db->from('workers');
if($name)
{
   $this->db->or_like('name', $name);
}
if($surname)
{
    $this->db->or_like('surname', $surname);
}
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)