2014-01-30 58 views
-1

我做錯了什麼?我的代碼不起作用將表單中的值插入數據庫

if (isset($_POST['submit'])){ 


    $fecha = ($_POST['fecha']);//date 
    $hora_in = ($_POST['hora_incial']); //time 
    $hora_fin = ($_POST['hora_final']);//time 
    $comentarios =($_POST['comentarios']);//text 

    //inserting data order 
    $order = "INSERT INTO control ('Fecha','Hora_incial','Hora_final','Comentarios') VALUES('".$fecha."','".$hora_in."','".$hora_fin."','".$comentarios."')"; 

    //declare in the order variable 
    $result = mysql_query($order); //order executes 
    if($result){ 
     echo("<br>Input data is succeed"); 
    } else{ 
     echo("<br>Input data is fail"); 
    } 
} 

它表明我總是失敗。連接是好的,但我不能插入數據

感謝您的幫助! :)

+0

mysql_error()說什麼?您是否驗證過該查詢是正確的?所有的價值都是你期望的嗎? –

+1

可愛[SQL注入攻擊](http://bobby-tables.com)漏洞...喜歡讓你的服務器pwn3d。 –

回答

1

刪除列名稱周圍的引號並用反引號替換。

(`Fecha`,`Hora_incial`,`Hora_final`,`Comentarios`) 

行情不能用於表或列名

行重寫:(編輯添加$con

if (isset($_POST['submit'])){ 

$fecha = mysqli_real_escape_string($con,$_POST['fecha']);//date 
$hora_in = mysqli_real_escape_string($con,$_POST['hora_incial']); //time 
$hora_fin = mysqli_real_escape_string($con,$_POST['hora_final']);//time 
$comentarios = mysqli_real_escape_string($con,$_POST['comentarios']);//text 

$order = "INSERT INTO control (`Fecha`,`Hora_incial`,`Hora_final`,`Comentarios`) VALUES('$fecha','$hora_in','$hora_fin','$comentarios')"; 
$result = mysqli_query($con,$order); 

if(! $result) 
{ 
    die('Could not enter data: ' . mysqli_error($con)); 
} 

else { echo "Success"; } 

} 

我也鼓勵您切換到使用mysqli_*功能與prepared statements代替已棄用的mysql_*函數。加PDO也是一種選擇。

務必閱讀以下內容: 「$變量」

+0

仍然不能正常工作:/( – Deimos

+0

)你的列是否存在,表單元素是否正確命名?即:''等等?@Deimos,我假設你連接到DB? –

+0

警告:mysqli_query()需要至少2個參數,1給出此消息,我現在有,是連接到數據庫,使用mysqli,並且我更改爲$ result = mysqli_query($ order);這是好嗎? $主機= 「本地主機」; $用戶= 「根」; $通= 「」; $分貝= 「賈茲敏」; //創建連接 $ CON = mysqli_connect($主機,$用戶,$通, $ db); – Deimos

0

查詢更改爲

$order = "INSERT INTO control 
     ."(Fecha,Hora_incial,Hora_final,Comentarios)" 
     ." VALUES" 
     ."('$fecha','$hora_in','$hora_fin','$comentarios')"; 

我不明白爲什麼你在使用點

磨片你有問題,首先嚐試呼應查詢,像

echo $order; 

和過去它在你的phpmyadmin(如果有的話)。