我一直有意將數據插入到現有表格,並在有人註冊時自動創建表格,但我遇到了一些問題。使用codeigniter創建表格錯誤並創建多個表格
這是我form_reg
<div class="row">
<div class="col-md-12">
<form enctype="multipart/form-data" method="POST" action="<?php echo base_url()?>index.php/tr/reg">
<table style="width:110%" class="table table-striped table table-bordered table table-hover">
<tr>
<td>Nama Lengkap</td>
<td><input class="form-control" type="text" name="nama"/></td>
</tr>
<tr>
<td>Username</td>
<td><input class="form-control" type="text" name="username"/></td>
</tr>
<tr>
<td>Password</td>
<td><input class="form-control" type="password" name="password"/></td>
</tr>
<tr>
<td>Nomor TBS</td>
<td><input class="form-control" type="number" name="no_tbs"/></td>
</tr>
<tr>
<td>Program</td>
<td><input class="form-control" type="text" name="program"/></td>
</tr>
<tr>
<td></td>
<td><button class="btn btn-info" type="submit" name="btnsubmit" value="Simpan">Register</button>
</tr>
</table>
</form>
</div>
</div>
,這我叫tr.php
public function reg(){
$posts_fields=array(
'id'=>array('type' => 'INT','constraint' => 11,'unsigned' => TRUE,'auto increment' => TRUE,'primary key' => TRUE),
'tanggal'=>array('type' =>'DATE','constraint' => 100),
'tbs_terhadap'=>array('type'=>'number','constraint' => 100),
'keterangan'=>array('type'=>'text','constraint' => 100),
'masuk'=>array('type'=>'number','constraint' => 100),
'keluar'=>array('type'=>'number','constraint' => 100),
'saldo_dsp'=>array('type'=>'number','constraint' => 100),
'tbs_id'=>array('type'=>'INT','constraint'=>11));
for($i = 1; $i <= 100000; $i++) {
$formattedNumber = sprintf('%05d', $i);
echo "<tr><td>$formattedNumber</td></tr>";
$this->dbforge->add_field($posts_fields);
$this->dbforge->create_table('dsp');
$nama = $_POST['nama'];
$username = $_POST['username'];
$password = $_POST['password'];
$no_tbs = $_POST['no_tbs'];
$program = $_POST['program'];
$data_insert = array(
'nama' => $nama,
'username' => $username,
'password' => $password,
'no_tbs' => $no_tbs,
'program' => $program,
);
$res = $this->mymodel->RegData('tbs_member', $data_insert);
if($res >= 1 && $result!==false){
$this->session->set_flashdata('pesan','Register Success');
header("location: /tbs/index.php/web?gagal=0&sukses=1");
}else{
header("location: /tbs/index.php/web/register?gagal=1");
}
}
控制器,這是mymodel.php
public function RegData($tableName, $data)
{
$res = $this->db->insert($tableName, $data);
return $res;
}
UPDATE:我使用後$this->load->dbforge()
,問題改變了這是一出後,我運行它
數據庫出錯
錯誤編號:1064
您的SQL語法錯誤;檢查對應於您MariaDB的服務器版本使用附近 '(100)NULL,
tbs_terhadap
VARCHAR(100)NULL,keterangan
VARCHAR(100)NU' 在行3CREATE TABLE
dsp$formattedNumber
正確的語法手冊(id
INT (11)UNSIGNED NOT NULL AUTO_INCREMENT,tanggal
DATE(100)NULL,tbs_terhadap
VARCHAR(100)NULL,keterangan
VARCHAR(100)NULL,masuk
VARCHAR(100)NULL,keluar
VARCHAR(100)NULL,saldo_dsp
VARCHAR(100)NULL,tbs_id
INT(11)NOT NULL,CONSTRAINTpk_dsp$formattedNumber
PRIMARY KEY(id
))DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci文件名:C:/xampp/htdocs/genstore/tbs/system/database/DB_driver.php
行號:691
,也是我需要的信息,如果它的更多鈔票來一次創建多個表?如果它是請告訴我如何
這就是我需要問的所有問題..只是告訴我,如果有任何信息,我遺漏了..我有點新在這個請告訴我什麼是我的錯誤是?謝謝
我回答了你的錯誤。如果你一次問很多事情,它會太寬泛。一旦你解決了一件事,檢查你的其他問題(可能已經有答案了)。另外,將mysql標記更改爲mariadb,因爲您的錯誤日誌顯示您正在使用MariaDB。 – Alfabravo