Codeigniter模型不插入值

时间:2012-12-25 03:10:19

标签: php mysql database codeigniter crud

这是我在CI中的第二个网络应用程序。

我试图从表单中获取单个值(提交时)并将其插入数据库。

我有一个控制器“urlsubmission”:

<?php

class Urlsubmission extends CI_Controller{

    function index() {
          $this->load->model('domaincheckmodel');
          $this->domaincheckmodel->verifyduplicates();

    }
}
?>

模型(domaincheckmodel) - 在数据库中搜索任何重复项:

<?php

    class Domaincheckmodel extends CI_Model{

        function __construct(){
            // Call the Model constructor
            parent::__construct();
        }


        function verifyduplicates(){
            #PREPARE DATA
            $sql = "SELECT tld from ClientDomain WHERE tld = ?";
            $postedTLD = $_POST['urlInput'];    // Get unsanitized data
            $endquery = $this->db->query($sql,array($this->db->escape_str($postedTLD))); // Query db

            #CONDITION
            if($endquery->num_rows() > 0){
                $this->load->view('err/domainexists'); ##domain already used
                ## please login..
            } 

            else{ #number of rows must be 0, insert into db
                $newDomain = "INSERT INTO ClientDomain(tld) VALUES('".$this->db->escape_str($postedTLD)."')";
                $this->load->view('success/domainfree');
                ## please register
            }
        }    
    }

    ?>

现在有两个愚蠢的观点:domainexists和domainfree:

domainexists:

<h2>Domain Exists</h2>

domainfree:

<h2>Domain free</h2>

问题是:当我运行脚本时,没有错误,但它正在执行else{}块,但没有输入任何内容。

我已经设置了config / autoload来自动加载db lib,如:

$autoload['libraries'] = array('database');

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

您没有运行SQL查询。这样做。

$newDomain = "INSERT INTO ClientDomain(tld) VALUES('".$this->db->escape_str($postedTLD)."')";
$this->db->query($newDomain);

或者您可以使用simple_query()

$newDomain = "INSERT INTO ClientDomain(tld) VALUES('".$this->db->escape_str($postedTLD)."')";
$this->db->simple_query($newDomain);

答案 1 :(得分:0)

您声明INSERT语句但从不执行它?