通过Codeigniter和PHP更新SQL数据库

时间:2015-11-11 21:15:27

标签: php sql forms codeigniter

我尝试通过控制器从视图向模型提交一些数据,但它不会做任何事情。

在视图中,我有一个向控制器提交一些数据的表单

控制器:

if(isset($POST['CNE']))
        {
            $Craftname=$_POST['Str'].$_POST['Dex'].$_POST['Rec'].$_POST['Int'].$_POST['Wis'].$_POST['Luc'];
            $Craftname.=$_POST['HP'].$_POST['MP'].$_POST['SP'].$_POST['Enchant'];
            $update = array(
                'ItemID' => $_POST['ItemID'],
                'Type' => $_POST['Type'],
                'TypeID' => $_POST['TypeID'],
                'Gem1' => $_POST['Gem1'],
                'Gem2' => $_POST['Gem2'],
                'Gem3' => $_POST['Gem3'],
                'Gem4' => $_POST['Gem4'],
                'Gem5' => $_POST['Gem5'],
                'Gem6' => $_POST['Gem6'],
                'Craftname' => $Craftname,
                'Count' => $_POST['Count']
            );

            $this->item_edit->updateItem($update, $_POST['ItemUID']);
        }

和模型

function updateItem($update, $uid)
{
    $this->db->where('ItemUID', $uid);
    $this->db->update('PS_GameData.dbo.CharItems' ,$update);        
}

在提交视图时,显示发布的数据如下

Name    Value
ItemName    Dreamy Vallum Helmet
ItemUID 4513324807718567936
ItemID  16052
Type    16
TypeID  52
Gem1    7
Gem2    0
Gem3    0
Gem4    0
Gem5    0
Gem6    0
Str 06
Dex 00
Rec 00
Int 00
Wis 05
Luc 04
HP  00
MP  00
SP  00
Enchant 00
Count   1

但是数据不会被提交到数据库以及...之前刷新数据显示。它根本不会提示我任何错误。也许有人可以帮我解决问题。

2 个答案:

答案 0 :(得分:0)

首先要注意区分大小写,而如果数据库中的所有字段都很小,那么所有数组键都应该很小,等等

你也应该只写表名

答案 1 :(得分:0)

我已经通过在控制器内部的单独函数中添加if isset语句来修复它,并在表单中设置action =" controller / function_name"它现在有效。