2016-10-02 51 views
-2

我正在使用PHP OOP定製CMS,現在我遇到了一個非常糟糕的問題!基本上我有一種形式是這樣的:PHP OOP查詢不會將新行插入數據庫

<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(); 
     } 
    } 
} 
?> 

所以,一切看起來不錯,必須將數據插入到表中,但問題是,每當我運行此代碼沒有加入除了分貝?標記和零號碼!

Here's the print screen of my MySQL database

所以,這是怎麼回事錯在這裏,誰能告訴我是什麼問題?

+0

什麼時候你會學會閱讀手冊? ''?''不是一個佔位符,它的字符串是__one symbol__ - '?'。 –

+0

作爲拼寫錯誤關閉。 – Drew

+0

這在查詢中做了什麼 - INSERT INTO menu_nav(menu_name,menu_items)VALUES('?','?')? –

回答

0

您的INSERT聲明將不準備進行綁定。請在?之前和之後刪除'。像這樣:

$ins = $this->db->prepare("INSERT INTO menu_nav (menu_name, menu_items) VALUES (?, ?)"); 
                       ^^