dqd22496 2014-03-21 16:27
浏览 89
已采纳

SQL语法错误消息不正确

How do I fix the following error? I think the issue is with the INSERT INTO part of my SQL query.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

Code:

<?php

if  (isset($_POST['submitted'])){
    include('../mysqli_connect.php');


if (isset($_POST['$pn, $pc,$ps,$pd'])); 

        if(!empty($_POST['product_name'])){
        echo'<p> Successful entry.</p>';
        $pn = mysqli_real_escape_string ($dbc, trim($_POST['product_name']));
        $pn=$_POST['product_name'];
        echo "You chose:".$pn."<br>";}
        else{
            echo '<p>You forgot to enter the product name.</p>';}


        if(!empty($_POST['product_category'])){
        echo'<p> Successful entry.</p>';
        $pc = mysqli_real_escape_string ($dbc, trim($_POST['product_category']));
        $pc=$_POST['product_category'];
        echo "You chose:".$pc."<br>";}
        else{
            echo '<p>You forgot to enter the product category.</p>';}


        if(!empty($_POST['product_supplier'])){
        echo'<p> Successful entry.</p>';
        $ps = mysqli_real_escape_string ($dbc, trim($_POST['product_supplier']));
        $ps=$_POST['product_supplier'];
        echo "You chose:".$ps."<br>";}
        else{
            echo '<p>You forgot to enter the product category.</p>';}   

    if(!empty($_POST['product_description'])){
        echo'<p>Successful entry.</p>';
        $pd=mysqli_real_escape_string($dbc, trim($_POST['product_description']));
        $pd=$_POST['product_description'];
        echo"You chose:".$pd."<br>";}
        else{
            echo'<p>You forgot to enter the product_description.</p>';}

//query: Insert into database

$query = "INSERT INTO `products_catalog` (product_name, product_category, product_supplier, product_description) VALUES ('$pn', '$pc', '$ps','$pd')";

$r=@mysqli_query ($dbc,$query);
if($r){
    echo"<h2> You entered the product name:".$pn."</h2>";   
    echo"<h2>You entered the product category:".$pc."</h2>";
    echo"<h2>You entered the product supplier:".$ps."</h2>";
    echo"<h2>You entered the product description:".$pd."</h2>";}
    else{
        echo'<h1>System Error</h1>
        <p>The product name, category, supplier and description could not be entered. We apologize for any inconvenience. Please try again. If error continues, please contact tech support.</p>';

//Debugging message:
echo '<p>'.mysqli_error($dbc).'<br/><br/> Query:'.$query.'</p>';}

//End of if($r) IF.

mysqli_close($dbc); }

?>      
  • 写回答

2条回答 默认 最新

  • doukuipai8544 2014-03-21 19:30
    关注

    Like this

    <?php
    
    if  (isset($_POST['submitted'])){
        include('../mysqli_connect.php');
    
    
    if (isset($_POST['$pn, $pc,$ps,$pd'])); 
    
            if(!empty($_POST['product_name'])){
            echo'<p> Successful entry.</p>';
            $pn = mysqli_real_escape_string ($dbc, trim($_POST['product_name']));
            //$pn=$_POST['product_name'];  // THIS LINE NOT REQUIRED
            echo "You chose:".$pn."<br>";}
            else{
                echo '<p>You forgot to enter the product name.</p>';}
    
    
            if(!empty($_POST['product_category'])){
            echo'<p> Successful entry.</p>';
            $pc = mysqli_real_escape_string ($dbc, trim($_POST['product_category']));
            //$pc=$_POST['product_category'];  // THIS LINE NOT REQUIRED
            echo "You chose:".$pc."<br>";}
            else{
                echo '<p>You forgot to enter the product category.</p>';}
    
    
            if(!empty($_POST['product_supplier'])){
            echo'<p> Successful entry.</p>';
            $ps = mysqli_real_escape_string ($dbc, trim($_POST['product_supplier']));
            //$ps=$_POST['product_supplier'];  // THIS LINE NOT REQUIRED
            echo "You chose:".$ps."<br>";}
            else{
                echo '<p>You forgot to enter the product category.</p>';}   
    
        if(!empty($_POST['product_description'])){
            echo'<p>Successful entry.</p>';
            $pd=mysqli_real_escape_string($dbc, trim($_POST['product_description']));
            //$pd=$_POST['product_description'];  // THIS LINE NOT REQUIRED
            echo"You chose:".$pd."<br>";}
            else{
                echo'<p>You forgot to enter the product_description.</p>';}
    
    //query: Insert into database
    
    $query = "INSERT INTO `products_catalog` (product_name, product_category, product_supplier, product_description) VALUES ('$pn', '$pc', '$ps','$pd')";
    
    $r=@mysqli_query ($dbc,$query);
    if($r){
        echo"<h2> You entered the product name:".$pn."</h2>";   
        echo"<h2>You entered the product category:".$pc."</h2>";
        echo"<h2>You entered the product supplier:".$ps."</h2>";
        echo"<h2>You entered the product description:".$pd."</h2>";}
        else{
            echo'<h1>System Error</h1>
            <p>The product name, category, supplier and description could not be entered. We apologize for any inconvenience. Please try again. If error continues, please contact tech support.</p>';
    
    //Debugging message:
    echo '<p>'.mysqli_error($dbc).'<br/><br/> Query:'.$query.'</p>';}
    
    //End of if($r) IF.
    
    mysqli_close($dbc); }
    
    ?>      
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助