0
我試圖用DataMapper創建一個模型,但是當我用save()
插入一些新數據時,它會返回一個錯誤。PHP - CodeIgniter - DataMapper - 保存錯誤()
錯誤
數據庫出錯
您必須使用 「設置」 方法來更新條目。
文件名:C:\ WAMP \ WWW \網站\ SYSTEM \數據庫\ DB_active_rec.php
行號:1174
我在數據庫auto-increment
的ID,我用了來自控制器的方法題詞。
代碼
<?php
class Utilisateur_model extends DataMapper {
var $table = 'utilisateur';
var $validation = array(
'login' => array(
'label' => 'Login',
'rules' => array('required', 'unique', 'trim')
),
'mdp' => array(
'label' => 'Mot de passe',
'rules' => array('required', 'trim')
),
'nom_utilisateur' => array(
'label' => 'Nom',
'rules' => array('required', 'trim')
),
'prenom_utilisateur' => array(
'label' => 'Prenom',
'rules' => array('required', 'trim')
),
'email' => array(
'label' => 'Email',
'rules' => array('required', 'valid_email', 'trim')
),
'adresse' => array(
'label' => 'Adresse',
'rules' => array('required', 'trim')
)
);
public static function inscription($donnees) {
$u = new Utilisateur_model();
$u->login = $donnees['login'];
$u->mdp = $donnees['mdp'];
$u->nom_utilisateur = $donnees['nom'];
$u->prenom_utilisateur = $donnees['prenom'];
$u->email = $donnees['email'];
$u->adresse = $donnees['adresse'];
if($u->save()) {
return array(true);
}
else {
return array(false, $u->error->string);
}
}
}
?>
線1174是這個方法:
function insert($table = '', $set = NULL)
{
if (! is_null($set))
{
$this->set($set);
}
if (count($this->ar_set) == 0)
{
if ($this->db_debug)
{
return $this->display_error('db_must_use_set'); //line 1174
}
return FALSE;
}
if ($table == '')
{
if (! isset($this->ar_from[0]))
{
if ($this->db_debug)
{
return $this->display_error('db_must_set_table');
}
return FALSE;
}
$table = $this->ar_from[0];
}
$sql = $this->_insert($this->_protect_identifiers($table, TRUE, NULL, FALSE), array_keys($this->ar_set), array_values($this->ar_set));
$this->_reset_write();
return $this->query($sql);
}
你能告訴我們'1174'的代碼行嗎? – eggy 2014-10-28 00:42:47
是的,這條線是在該方法中插入,恰好在此條件: 如果(計數($這個 - > ar_set)== 0){ 如果 ($這個 - > db_debug) { /*線1174 */\t return $ this-> display_error('db_must_use_set'); } return FALSE; } – Gaetan 2014-10-28 00:50:04