2013-09-29 169 views
-2

我想創建一個表單,需要檢索有關員工的信息,然後員工輸入他們的開支索賠。檢索數據的過程可以正常工作,但不會將輸入的費用索賠數據保存到數據庫中。不插入數據到數據庫

如果有人能幫助我,我將不勝感激。

這是我的代碼。

<?php 
session_start(); 

if($_SESSION['emp_no']){ 
echo "Welcome, ".$_SESSION['emp_no']."!"; 
} 
else 
die("You must enter your employee no. "); 

$connect = mysql_connect("localhost","root","Omaima2010") or die ("Could not connect"); 

mysql_select_db("expenses") or die ("Could not find the data base"); 

$emp_no= $_SESSION['emp_no']; 

$query = mysql_query("select e.emp_no, e.manager_no, e.emp_name, m.manager_no, m.manager_name, m.dept_name 
from employee e , manager m 
where emp_no = '$emp_no' and e.manager_no = m.manager_no"); 
while($query1 = mysql_fetch_array($query)){ 
$emp_no = $query1['emp_no']; 
$emp_name = $query1 ['emp_name']; 
$manager_name = $query1 ['manager_name']; 
$manager_no = $query1 ['manager_no']; 
$dept_name = $query1 ['dept_name']; 
} 


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

     //This is the directory where vouchers will be saved 
    $target = "vouchers/"; 
    $target = $target .basename($_FILES['datafile']['name']); 

    $exp_desc = $_POST['exp_desc']; 
    $date = (date ("d/m/Y")); 
    $receipt = $_FILES['datafile']['name']; 
    $amount = $_POST['amount']; 
    $exch_rate= ($_POST['exch_rate']); 
    $bd = ($_POST['BD']); 

    mysql_query("INSERT INTO expenses_claim(emp_no,manager_no,exp_desc,claimant_date,amount,exch_rate,BD,receipt) VALUES ('$emp_no','$manager_no','$exp_desc','$date','$amount','$exch_rate','$bd','$receipt',now())"); 

    //Writes the file to the server 
    if(move_uploaded_file($_FILES['datafile']['tmp_name'], $target)) 
    { 

    //Tells you if its all ok 
    echo "The file " . basename($_FILES['datafile']['name']). " has been uploaded"; 


    } 
    else { 

    //Gives and error if its not 
    echo "Sorry, there was a problem uploading your file."; 
    } 
    } 


?> 

回答

0
  1. 使用準備好的聲明。另外mysql_query從PHP 5.5起折舊,所以你應該切換到mysqli或者PDO。

  2. 驗證您的輸入。我敢打賭,你的問題是導致查詢失敗的錯誤輸入的結果。

  3. 如果您發送的查詢可能失敗,請確保記住您的錯誤。例如:

    if(!mysql_query($query)) 
        echo "Your query failed. It consisted of: $query and the error was " . mysql_error(); 
    
+0

我更改代碼,仍然沒有工作,這表明我的錯誤:您的查詢失敗。它包含:資源ID#4,錯誤是查詢爲空 – user1424109

+0

您是否將查詢分配給變量$ query? –

+0

ie $ query =「INSERT INTO」等 –

1

你有8列,並在查詢中9個值,只刪除,now()