Build safe SQL queries with CI4's Query Builder using select, join, where, limit, and batch insert.
Query Builder
$db = ConfigDatabase::connect();
$builder = $db->table("users");
// SELECT
$query = $builder->select("id, name, email")
->where("active", 1)
->where("age >=", 18)
->orWhere("role", "admin")
->like("name", "alice")
->orderBy("name", "ASC")
->limit(10, 0)
->get();
$users = $query->getResultArray(); // array of arrays
$users = $query->getResultObject(); // array of objects
// JOIN
$builder->select("u.name, p.title")
->from("users u")
->join("posts p", "p.user_id = u.id")
->get()->getResult();
// INSERT
$builder->insert(["name" => "Alice", "email" => "a@b.com"]);
// UPDATE
$builder->where("id", 1)->update(["name" => "Bob"]);
// DELETE
$builder->where("id", 1)->delete();
// Count
$count = $builder->countAllResults();