我在这里有一件奇怪的事。我正在尝试在我的数据库中插入一个值,但由于某种原因它不起作用。我有这段代码:
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
行时,该功能正常工作。我真的不知道我做错了什么......
答案 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。