intrebarea mea este ... cum e mai practic, sau mai bine zis cum procedati voi, cei mai experimentati?
de exemplu pentru INSERT am facut o metoda care se apeleaza ceva de genu
Cod: Selectaţi tot
$query = DB::insert("tabel", "values")->execute_query();
$result = $query->results();
- "insert" imi genereaza:
Cod: Selectaţi tot
public function insert($table, $values, $option = null){
... ... ...
}
// $this->sql = "INSERT INTO table (field_1, field_2) VALUES (?, ?), (?, ?) ..."
// $this->newVal = array ('value_1', 'value_2', 'value_a', 'value_b', ... )
- "execute_query" deschide conexiunea cu db, imi face escape pentru fiecare valoare din array, imi bindeaza valorile cu queryul, executa queryul, obtine rezultatele/num_rows/affected_rows/last_id ... sau erorile ... apoi inchide conexiunea cu baza de date
la acest INSERT pot sa-i pun obtional IGNORE sau ON DUPLICATE ... nu am facut INSERT INTO ... SELECT
Itrebarea mea este:
pentru SELECT in special ... cum procedati de obicei (cei cu mai multa experienta) ... va creati metode pentru fiecare obtiune a lui SELECT ... de genu GRUP_CONCAT, SUM, FROM, WHERE ... etc
ceva de genu:
Cod: Selectaţi tot
$query = DB::select("ceva", "...")->from('table')->where(...) ... ->execute_query(); // cam cum au mai toate frameworkurile
// sau ceva de genu
$sql = "SELECT * FROM table WHERE name = ? AND email = ? ORDER BY ...etc ... LEFT JOIN ... etc";
$vals = array(v1, v2, v3 ... etc);
$queri DB::exec_query($sql, $vals);
Si pentru DELETE si UPDATE unde acel WHERE poate sa aibe o gramada de combinati ... aceiasi intrebare
sau mai bine spus ... pentru ce sintaxe sql imi recomandati sa fac o metoda de generare a queriului ...