2013-05-07 127 views
-1

我有问题。在那里我想通过之前检索一些数据来插入新行。然后我输入2个新数据并点击按钮提交。我已经为所有变量回显数据并获取所有数据,但不能插入数据库并显示查询错误。这是我的代码插入php - 查询错误

* Matric,Cat_name和Product_name - 检索的数据。
*错误在查询$ SQL

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

    $Matric = $_POST['Matric']; 
    $Total_sales = $_POST['Total_sales'];  
    $Cat_name= addslashes($_POST['Cat_name']); 
    $Product = addslashes($_POST['Product_name']); 
    $tarikh = addslashes($_POST['Date']); 

    $data = "SELECT participant.*,sales.* FROM participant 
    LEFT JOIN sales ON sales.Matric = participant.Matric 
    WHERE sales.Product_name='$Product'" ; 
    $result = mysql_query($data) or die('SQL error'); 
    $row = mysql_fetch_assoc($result); 

    $gambar = $row['img']; 

    echo $Matric; 
    echo $Total_sales; 
    echo $Cat_name; 
    echo $Product; 
    echo $tarikh; 
    echo $gambar; 


    $sql="INSERT INTO sales (Matric, Total_sales, Cat_name, Product_name, img, Date) values ('$Matric', '$Total_sales', '$Cat_name', '$Product', '$gambar', '$tarikh')"; 
    $result=mysql_query($sql) or die("Suck"); 


    if ($result) 
     echo 'Add success'; 
    else 
     echo 'Add fail'; 

} 
+7

将die(“Suck”)更改为die(mysql_error()),以便查看错误的原因。 – Barmar 2013-05-07 10:11:29

+0

我收到错误 - 重复条目。我想复制Cat_name和Product_name的条目 – 2013-05-07 10:24:44

+0

这意味着您的表中有一个唯一的键,这可以防止您复制这些列。如果您需要允许重复项,请将索引更改为非唯一。 – Barmar 2013-05-07 10:26:46

回答

4

日期是保留关键字使用反引号操作符来逃避它

$sql="INSERT INTO sales (Matric, Total_sales, Cat_name, Product_name, img, `Date`) values ('$Matric', '$Total_sales', '$Cat_name', '$Product', '$gambar', '$tarikh')"; 
+0

噢,OK了:)谢谢 – 2013-05-14 05:44:41

+0

欢迎,我现在拿出评论 – 2013-05-14 05:45:34

0
$sql="INSERT INTO sales (Matric, Total_sales, Cat_name, Product_name, img, `Date`) values ('{$Matric}', '{$Total_sales}', '{$Cat_name}', '{$Product}', '{$gambar}', '{$tarikh}')"; 

“” 下的变量在{}

-1

日期是保留关键字。使用任何其他名称。

+0

日期可以是一个字段的名称,只要你有反引号 – 2013-05-07 10:16:36