我想要做的是将不同的文章评论写入数据库,并为他们提供不同的文章ID,以便我以后可以抓住它们以显示每篇文章的不同评论。一切都正确地插入数据库,除了作为字符串插入的文章ID" dist"即使它必须是INT。我的页面中甚至没有包含dist的单词。我得到了#dist;' dist' dist当我将我的数据库文章ID值从INT更改为varchar时,INT数据库值保持不变0。 这是我的代码。 在这里,我添加" articleOn"到这个会话userdata。
$userrecipe=array("articleOn"=>$artID); //articlebeard
$this->session->set_userdata($userrecipe);//setting session
这里它仍然具有正常的INT值,例如一个数字" 4"。 稍后当我尝试使用此代码将其添加到数据库时:
public function addComment()
{
$data=array('artID' => $this->session->userdata('articleOn'));
$this->db->insert('comment', $data);
}
如果在数据库中的INT或者' dist'它总是加零。如果它的varchar。 我该怎么做才能将它保持为INT并正确写入数据库。
为artID指定值:
$query=$this->db->get("article");
foreach($query->result() as $rows)
{
$articledata=array(
$rows->artID //articleABC
);
?>
<?php if($this->session->userdata("email")!=""):?>
<a href="<?php echo site_url('site/article/'.$articledata[0]); ? >">
public function article($artID){ //site/article
$data['artID']=$artID;
$this->load->view("articlebeard", $data);
}
调用模型方法。
public function addComment(){
$this->load->library('form_validation');
$this->form_validation->set_rules('comment', 'Comment', 'trim|required');
if($this->form_validation->run() == FALSE)
{
header('location:articlebeard');
}
else
{
$this->load->model("model_users");
$this->model_users->addComment();
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}
答案 0 :(得分:0)
我从你的帖子中可以理解的是解决方案:
更新您的代码,如下所示:
public function addComment(){
$this->load->library('form_validation');
$this->form_validation->set_rules('comment', 'Comment', 'trim|required');
if($this->form_validation->run() == FALSE)
{
header('location:articlebeard');
}
else
{
$this->load->model("model_users");
//here you have to define the article id variable
$artID = 1;//You can replace with your dynamic field
$this->model_users->addComment($artID);
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}
然后模型方法应该是这样的
public function addComment($artID)
{
$data=array('artID' => $artID);
$this->db->insert('comment', $data);
}
希望这会有所帮助,因为我无法运行此代码,但希望这会有效,如果您收到错误请告诉我,我会告诉您