A small cheat sheet with simple examples for the Zend_Db syntax in Zend Framework. A smooth way to write sql that will work on many different databases
Connect to database
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' => '127.0.0.1',
'username' => 'myUser',
'password' => 'myPassword',
'dbname' => 'myDatabase'
));
SELECT statement
eg.
SELECT fname, course, grade FROM students
WHERE student_id = {$student_id} ORDER BY grade DESC
is written in Zend_Db syntax like this:
$db->select()
->from('students', array('fname', 'course', 'grade'))
->where('student_id = ?', $student_id)
->order('grade DESC');
If you want to fetch all columns (*), just remove the array(‘name’,…) in the from function
INSERT statement
eg.
INSERT INTO students(id, email, passwrd, fname, address, active)
VALUES (id + 1, '{$email}', '{$passwrd}', '{$fname}', '{$address}', 1);
Zend_Db syntax:
$student = array( 'id' => new Zend_Db_Expr('id + 1'),
'email' => $email,
'passwrd' => $passwrd,
'fname' => $fname,
'address' => $address,
'active' => '1');
$db->insert('students', $student);
UPDATE statement
eq.
UPDATE students
SET passwrd = '{$passwrd}',
fname = '{$fname}',
address = '{$address}',
active = 1
WHERE id = '{$student_id}'
Zend_Db syntax:
$student = array('passwrd' => $passwrd,
'fname' => $fname,
'address' => $address,
'active' => '1');
$db->update('students', $student, 'id = ' . $student_id);
DELETE statement
eq.
DELETE FROM students WHERE id = '{$student_id}'
Zend_Db syntax:
$db->delete('students', 'id = ' . $student_id);
Tested in Zend Framework 1.10.8 on OSX 10.7.4