查询始终输出Probmlem

时间:2017-07-26 23:46:32

标签: php html css

有没有人知道这个查询中的问题是什么,每当我填写表格时,它会说出“问题!”的脚本。

  if(isset($_POST['submit'])){
//getting the text data from the fields
$title = $_POST['title'];
$cat= $_POST['cat'];
$desc = $_POST['desc'];
$qty = $_POST['qty'];
$price = $_POST['price'];
$status = $_POST['status'];



//getting the image from the field
$image = $_FILES['image']['name'];
$image_tmp = $_FILES['image']['tmp_name'];

move_uploaded_file($image_tmp,"images/drinks/$image");


 $insert_product = "insert into drinks (title,cat,image,desc,qty,price,status) values ('$title','$cat','$image','$desc','$qty','$price','$status')";

 $insert_pro = mysqli_query($con, $insert_product);

 if($insert_pro){

 echo "<script>alert('Drink Has been inserted!')</script>";
 echo "<script>window.open('index.php?viewdrink','_self')</script>";

 }
 else{
     echo "<script>alert('Problem!')</script>";
 }
}

如何改进此代码以使其正常工作。

1 个答案:

答案 0 :(得分:2)

DESC是一个MySQL保留字,如果你想继续使用该列的名字,它必须用刻度表包装。

$insert_product = "insert into drinks (title,cat,image,`desc`,qty,price,status)....";

在查询中使用了mysqli_error($con)(在else{...}中),它会发出语法错误信号。

您还可以打开SQL注入。使用准备好的声明。

如果仍然失败,请确保没有插入会导致注入的字符,并且所有数组都包含值。在任何情况下,您都应该转义插入数据库中的所有值。

使用PHP的错误报告: