2016-12-04 87 views
0

我一直在嘗試PHP和我有一些問題,我只是無法解決的參數。如果我嘗試通過鍵入保存BD上的參數,否則如果我嘗試從代碼中直接發送它不起作用。 這是我的代碼。PHP PDO發送參數

<?php 
class Cliente { 

    public $db; 

    public function __construct() { 
     $db = new Database(); 
     $this->db = $db->instance(); 
     $this-> sendDado(); 
    } 


    public function sendDado(){ 
     if ($_POST) { 
      try { 
       $query = $this->db->prepare("INSERT INTO PESSOA(nome, email, func) values(:nome,:email,:func)"); 
       $query->bindValue(":nome", $_POST['nome'], PDO::PARAM_STR); 
       $query->bindValue(":email", $_POST['email'], PDO::PARAM_STR); 
       $query->bindValue(":func", $_POST["1"], PDO::PARAM_INT); 
       $query->execute(); 
       echo "Enviado com sucesso"; 
      } catch(PDOException $e) { 

       echo "Não foi possivel enviar"; 
      } 
     } 
    } 
?> 
+1

「保存BD上的參數」是什麼意思?你是否從這段代碼中得到錯誤? – WillardSolutions

+0

@EatPeanutButter也許他指的是DB。 – Perumal

+0

$ _POST ['1']是什麼? –

回答

0

不知道錯誤信息(通常在調試時很重要),我只能猜測。 $_POST["1"]看起來很可疑。你真的有一個「1」(第一)作爲其名稱(甚至允許)的POST變量?或者你是否試圖在數據庫中保存整數1作爲「func」的值?如果是,則將該行更改爲

$query->bindValue(":func", 1, PDO::PARAM_INT); 
+0

沒有錯誤的消息,它的行爲,因爲它正在工作,但當我去數據庫沒有信息。我想保存值1,不允許使用只有數字命名的變量。 $ query-> bindValue(「:func」,1,PDO :: PARAM_INT); 而這一個也沒有工作,我嘗試過。 –