我的CodeIgniter PHP项目有问题。
我有一种形式,可以将变量传递给数据库,并通过修改数据库上的数据来执行UPDATE查询。
问题是,当我插入新数据时,它不会给我错误,而是显示视图,其中显示了表中的数据,但未修改数据。
有人可以帮我理解吗?
模型 Hello_Model.php
function displayrecordsById($id)
{
$query=$this->db->query("SELECT * FROM Todolist WHERE id='".$id."'");
return $query->result();
}
function updaterecords($testo,$stato,$id)
{
$this->db->query("update Todolist SET testo='$testo',stato='$stato' WHERE id='".$id."'");
}
视图 update_records.php
<html>
<head>
<title>Registration form</title>
</head>
<body>
<?php
//$i=1;
foreach($data as $row)
{
?>
<form method="post">
<table width="600" border="1" cellspacing="5" cellpadding="5">
<tr>
<td width="230">Id </td>
<td width="329"><input type="text" name="id" value="<?php echo $row->id; ?>"/></td>
</tr>
<tr>
<td>Testo </td>
<td><input type="text" name="testo" value="<?php echo $row->testo; ?>"/></td>
</tr>
<tr>
<td>Stato</td>
<td><input type='text' name='stato' value= "<?php echo $row->stato; ?> "/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="update" value="Update Records"/></td>
</tr>
</table>
</form>
<?php } ?>
</body>
</html>
</html>
控制器 Hello.php
public function updatedata()
{
$id=$this->input->get('id');
$result['data']=$this->Hello_Model->displayrecordsById($id);
$this->load->view('update_records',$result);
if($this->input->post('update'))
{
$n=$this->input->post('testo');
$e=$this->input->post('stato');
$this->Hello_Model->updaterecords($id,$n,$e);
redirect("http://simone.fabriziolerose.it/index.php/Hello/dispdata");
echo "Success!";
}
}
我从this教程中获取了代码
答案 0 :(得分:0)
我认为调用模型函数检查时出现问题:
更改此内容:
$this->Hello_Model->updaterecords($id,$n,$e);
收件人
$this->Hello_Model->updaterecords($n,$e,$id);
,您将自定义查询更改为CI查询,例如:
用于更新
$this->db->where("id",$id);
$this->db->update("Todolist",array("testo"=>$testo,"stato"=>$stato));
对于选择:
$this->db->where("id",$id);
$query=$this->db->get("Todolist");
$row=$query->row();