无法在db中插入值

时间:2011-12-28 19:50:49

标签: php database

我在这里有一件奇怪的事。我正在尝试在我的数据库中插入一个值,但由于某种原因它不起作用。我有这段代码:

PHP

<input type='file' name='images[]' />
<input type="text" name="newproject_name" id="tags"/>
<input type='text' name='order[]' value='$b' />

$project            = new Project();
$project->photo     = $_FILES['images']['name'][$key];
$project->order     = $_POST['order'][$key];            
$projectnaam        = $_POST['newproject_name'];

if($project->createProject($_DB)) {
    echo "OK";
} else {
    echo "NOT OK";
}
                                }

功能

class Project {
    public function createProject($db) {
        $sql = "INSERT INTO tblProject (
            project,
            photo,
            order)    // If you remove this line, the function is working
        VALUES(
            '".$db->escape($this->project)."',
            '".$db->escape($this->photo)."',
            '".$db->escape($this->order)."'    // If you remove this line, the function is working
            )";
        return $db->insert($sql);
    }
}

奇怪的是,当我删除order行时,该功能正常工作。我真的不知道我做错了什么......

2 个答案:

答案 0 :(得分:6)

ORDER是保留字。如果你在列名称周围使用反引号,你应该是好的:

    $sql = "INSERT INTO tblProject (
        `project`,
        `photo`,
        `order`)    
    VALUES(
        '".$db->escape($this->project)."',
        '".$db->escape($this->photo)."',
        '".$db->escape($this->order)."'  
        )";

答案 1 :(得分:0)

我建议您将订单栏名称更改为position或display_order。