La meilleure façon (alias le chemin en utilisant la plus petite quantité de code) pour insérer une ligne dans une table de base de données à l'aide Zend_Db
est:
$data = array(
'created_on' => '2007-03-22',
'bug_description' => 'Something wrong',
'bug_status' => 'NEW'
);
$db->insert('bugs', $data);
Le code ci-dessus insérer une nouvelle ligne dans la table bugs
alors que $db
est la sous-classe Zend_Db_Adapter_Abstract
que vous avez créée avec Zend_Db::factory()
. S'il vous plaît voir Writing Changes to the Database dans le Zend Framework manual pour plus de détails et l'ensemble du spectre des fonctionnalités Zend_Db
fournit.
Par souci d'exhaustivité, le code ci-dessus émettre une requête à la base de données similaire à:
INSERT INTO bugs (created_on, bug_description, bug_status)
VALUES ('2007-03-22', 'Something wrong', 'NEW')
L'étape suivante serait une approche plus sophistiquée en utilisant Zend_Db_Table
.
EDIT:
Étant donné que vous avez un Zend_Form
($form
) avec les champs appropriés created_on
, bug_description
et bug_status
et à condition que vous avez les filtres droit et validateurs en place, en ajoutant une nouvelle ligne avec les valeurs données sous la forme est aussi facile que
if ($form->isValid($_POST)) {
$db->insert('bugs', $form->getValues());
}
Enregistrement d'un objet personnalisé est également très facile:
// $bug is your custom object representing a bug
$db->insert('bugs', array(
'created_on' => $bug->getCreatedOn(),
'bug_description' => $bug->getDescription(),
'bug_status' => $bug->getStatus()
));
Voulez-vous vraiment dire «objet» et «forme» ou voulez-vous dire les données? – markus