Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL语法错误-接近'';在php第1行_Php_Mysql - Fatal编程技术网

MySQL语法错误-接近'';在php第1行

MySQL语法错误-接近'';在php第1行,php,mysql,Php,Mysql,您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“”附近 这就是我现在犯的错误。我在网上搜索过,但似乎找不到。其他人说它是变量(“$order_id”)中的“”,但它没有解决错误 当我点击submitAccept的Accept按钮时,它会弹出一条消息“Order Accepted”,但是它会弹出前面提到的错误。我该如何解决这个问题 下面是我的sql代码: <?php if(isset($_POST['submitDelivered'])){

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“”附近

这就是我现在犯的错误。我在网上搜索过,但似乎找不到。其他人说它是变量(“$order_id”)中的“”,但它没有解决错误

当我点击submitAccept的Accept按钮时,它会弹出一条消息“Order Accepted”,但是它会弹出前面提到的错误。我该如何解决这个问题

下面是我的sql代码:

<?php
if(isset($_POST['submitDelivered'])){  
  $order_id = trim(addslashes($_POST['t_order_id']));
  $query = "UPDATE order_tbl SET `order_status`='Delivered' WHERE `order_id` = $order_id";
  if (mysqli_query(connection2(), $query)) { 
         mysqli_query(connection2(), "COMMIT");
         $_SESSION['message'] = "Order Delivered"; } 
         else { 
         $_SESSION['message'] = mysqli_error(connection2());
         mysqli_query(connection2(), "ROLLBACK");
         }
  }

  if(isset($_POST['submitAccept'])){  
  $order_id = trim(addslashes($_POST['t_order_id']));
  $query = "UPDATE order_tbl SET `order_status`='Accepted' WHERE `order_id` = $order_id";
  if (mysqli_query(connection2(), $query)) { 
         mysqli_query(connection2(), "COMMIT");
         $_SESSION['message'] = "Order Accepted"; } 
         else { 
         $_SESSION['message'] = mysqli_error(connection2());
         mysqli_query(connection2(), "ROLLBACK");
         }
  }      

  if(isset($_POST['submitCancel'])){  
  $order_id = trim(addslashes($_POST['t_order_id']));
  $query = "UPDATE order_tbl SET `order_status`='Cancelled' WHERE `order_id` = $order_id";
  if (mysqli_query(connection2(), $query)) { 
         mysqli_query(connection2(), "COMMIT");
         $_SESSION['message'] = "Order Cancelled"; } 
         else { 
         $_SESSION['message'] = mysqli_error(connection2());
         mysqli_query(connection2(), "ROLLBACK");
         }
  }      
  ?>

您确定MySQL错误源自问题中显示的PHP吗出现错误时,$order\u id的值是多少?

  $query = "UPDATE order_tbl SET `order_status`='Delivered' WHERE `order_id` = $order_id";
  $query = "UPDATE order_tbl SET `order_status`='Accepted' WHERE `order_id` = $order_id";
  $query = "UPDATE order_tbl SET `order_status`='Cancelled' WHERE `order_id` = $order_id";
在显示的3个查询中,没有任何一个出现明显的SQL语法错误,除非$order\u id中出现了错误


请注意,我不是在评论你的PHP,因为我不是这方面的专家,但我知道你应该使用准备好的语句(很多人已经建议过了)。

每当有人在没有准备好的语句的情况下运行PHP查询时,一只模糊的小猫就会在某处死去。使用预先准备好的语句,这可能已经解决了您遇到的问题。您的脚本有可能会看到在使用过程中发生了什么。如果只需要3行代码,不要在这里转储40行代码。例如,您的问题与$\u课程有什么关系?没有什么阅读如何创建一个查询。哪一个查询让你头疼?除此之外,把其他东西都拿走query@Dragon12如果你不认识我,就别跟我开玩笑:-)