codeigniter - 错误号:1054 '字段列表'中的未知列 'sampledata'
问题描述
我在 codeigniter 中有一个项目,我通过表单获取一些数据。以及我使用过 phpmyadmin 的数据库。我想我已经编写了所有正确的代码,但是我的网页中有数据库错误,很难找到。
因为有类似的问题,但他们并没有解决我的问题。
user.php(控制器)
public function website()
{
$this->load->library('form_validation');
if($this->form_validation->run('website_validation'))
{
$post = $this->input->post();
$this->load->model('Uploadmodel');
if($this->Uploadmodel->websiteinsert($post['firstname'],$post['lastname'], $post['email'],$post['whatsapp'],$post['buissness']))
{
echo'<script>alert("Submitted Successfully")</script>';
}
else
{
echo "not succesfully";
}
return redirect('user/viewmainoffer');
}
else
{
$this->load->view('user/index');
}
}
上传model.php(模型)
public function websiteinsert($array)
{
$this->db->insert('website',$array);
}
offer.php(查看)
<?php echo form_open('user/website'); ?>
<div class="form-row">
<div class="form-group col-md-6">
<label for="formGroupExampleInput">First name</label>
<?php echo form_input(['type'=>'text','class'=>'form-control','placeholder'=>'Enter your first name','name'=>'firstname','value'=>set_value('firstname')]); ?>
</div>
<div class="form-group col-md-6">
<label for="formGroupExampleInput">Last name</label>
<?php echo form_input(['type'=>'text','class'=>'form-control','placeholder'=>'Enter your last name','name'=>'lastname','value'=>set_value('lastname')]); ?>
</div>
</div>
<div class="form-group">
<label for="inputEmail4">Email</label>
<?php echo form_input(['type'=>'text','class'=>'form-control','placeholder'=>'Enter your email','name'=>'email','value'=>set_value('email')]); ?>
</div>
<div class="form-group">
<label for="inputAddress2">Your Whatsapp number</label>
<?php echo form_input(['type'=>'text','class'=>'form-control','placeholder'=>' your whatsapp number','name'=>'whatsapp','value'=>set_value('whatsapp')]); ?>
</div>
<div class="form-row">
<label for="inputAddress2">Your business</label>
<?php echo form_input(['type'=>'text','class'=>'form-control','placeholder'=>'Your Business like Blog or anything','name'=>'buissness','value'=>set_value('buisness')]); ?>
</div>
</div>
<div class="modal-footer">
<?php echo form_submit(['value'=>'Get your website','class'=>' btn-lg btn btn-primary btn-block','type'=>'submit']) ?>
</form>
</div>
</div>
</div>
</div>
我得到的错误
Error Number: 1054
Unknown column 'o' in 'field list'
INSERT INTO `website` (`o`) VALUES ('')
Filename: C:/xampp/htdocs/blog/system/database/DB_driver.php
Line Number: 691
谢谢
解决方案
这里的问题是您没有为模型 Uploadmodel 提供正确的数组,该模型正在等待一个数组,而您正在发送 4 个不同的字符串。
正确的方法是发送数组,你可以这样做:
if($this->Uploadmodel->websiteinsert($post)){
// etc.
}
或者,如果您的 $post 包含的元素多于您想要插入的元素,您也可以:
if($this->Uploadmodel->websiteinsert(array($post['firstname'],$post['lastname'], $post['email'],$post['whatsapp'],$post['buissness']))){
//etc.
}
或用于unset($post['foo'])
删除您不想插入的 $post() 元素
推荐阅读
- javascript - Sequelize Many to Many - 更新关联表
- javascript - 创建不带参数的 JavaScript 函数并使用点传递数据
- javascript - if 语句在单击时提示一个弹出框
- django - Hostgator VPS 中的 Django 部署 - 同一服务器上的 PHP 和 Python - easyapache24 和 mod-wsgi
- javascript - 专注于下一个输入在 jquery 中不起作用?
- flutter - Flutter Web TextForm 字段
- ios - 如何检查今天小部件的数据
- python - TypeError: '(slice(None, None, None), array([ True, False, ... True, True]))' 是无效键
- matlab - 在 MATLAB 中使用 FFT 并在高斯上正确重新缩放
- java - ListView 未显示 Wifi 列表数组