codeigniter中发生数据库错误。

时间:2011-07-31 09:05:26

标签: php codeigniter captcha

这是什么错误?我该如何解决? 我使用codeigniter。

A Database Error Occurred
Error Number: 1048

Column 'captcha_time' cannot be null

INSERT INTO `captcha` (`captcha_time`, `ip_address`, `word`) VALUES (NULL, '31.57.141.7', NULL)

Filename: /home/324/public_html/123/models/login_model.php

Line Number: 79

第79行:

function create_captcha()
    {
    $vals = array(
        'img_path'   => './captcha/',
        'img_url'    => 'captcha/',
    );
$cap = create_captcha($vals);
    $data = array(
    'captcha_time'  => $cap['time'],
    'ip_address'    => $this->input->ip_address(),
    'word'   => $cap['word']
    );
    $query = $this->db->insert_string('captcha', $data);
    $this->db->query($query); // this line 79
    }

5 个答案:

答案 0 :(得分:6)

您收到此错误,因为文件夹“/ captcha”不在您的服务器上或设置了错误的权限。

如果图像路径不存在,或者不可写,则create_captcha()函数返回false,请查看验证码助手。

答案 1 :(得分:2)

captcha_time表格中的captch列无法设置为空 你必须发送时间。
据我所知:$cap['time']实际上是空的或未设置。

答案 2 :(得分:1)

也许你错过了安装php-gd扩展。 假设你的环境是fedora。 yum install php-gd

答案 3 :(得分:1)

我无法评论答案或投票,但来自xds2000的回答 解决了我的问题, 在ubuntu机器上你需要像这样安装它

sudo apt-get install php5-gd && sudo php5enmod gd && sudo service apache2 restart

答案 4 :(得分:0)

我遇到了同样的问题!只需根据您的PHP版本安装gd扩展名即可。我有5.6,下面的命令解决了我的问题。

<div id="bloco">
  <h1>NSGM</h1>
  <h2>Namorada Super Gostosa e Modelo</h2>
  <div id="containerMessage">
    <p id="message">Qual seu nome meu amor</p>
    <form>
      <input type="text" name="name" id="digitarNome" />
    </form>
  </div>
  <div id="containerResult">
    <p id="result">EU TE AMO RODRIGO</p>
  </div>
</div>