我正在使用PHP OOP开发自定义CMS,现在我遇到了一个非常糟糕的问题!基本上我有一个这样的表格:
<form role="form" method="POST" action="">
<div class="box-body">
<div class="form-group">
<label>Menu name</label>
<input type="text" class="form-control" placeholder="Enter menu name" name="mname" required>
</div>
<div class="form-group">
<label>Menu link numbers</label>
<input type="number" class="form-control" placeholder="Number of menu items" min="1" max="9" name="mnumbers" required>
</div>
</div>
<div class="box-footer">
<button name="submit" type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
正如我对此进行编码的那样:
<?php
if(isset($_POST['submit'])){
$menu_name = $_POST['mname'];
$menu_numbers = $_POST['mnumbers'];
$nav = new Navigation();
$nav->NewMenu($menu_name,$menu_numbers);
}
?>
因为你可以看到我调用了一个名为Navigation
的类。这个课程是这样的:
<?php
class Navigation
{
private $db;
public function __construct()
{
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function NewMenu($menu_name,$menu_numbers)
{
if(!empty($menu_name)&&!empty($menu_numbers))
{
$ins = $this->db->prepare("INSERT INTO menu_nav (menu_name, menu_items) VALUES ('?', '?')");
$ins->bindParam(1,$menu_name);
$ins->bindParam(2,$menu_numbers);
$ins->execute();
}else{
header("Location: maint/php/includes/errors/009.php");
exit();
}
}
}
?>
所以一切看起来都很棒,数据必须插入到表中但问题是,每当我运行此代码时,除了?之外没有任何内容添加到数据库中。标记和零号!
那么这里出了什么问题,有人可以告诉我这是什么问题吗?
答案 0 :(得分:0)
您的INSERT
声明不会为绑定做好准备。只需删除'
之前和之后的?
即可。像这样:
$ins = $this->db->prepare("INSERT INTO menu_nav (menu_name, menu_items) VALUES (?, ?)");
^ ^