PHP变量未定义错误(但它被定义?)

问题描述:

我不知道在我的错误,但它说排序是不确定的,也关于无效查询时出现错误:ERREUR德syntaxePrès区德“GROUP BY商城ORDER BY计数器DESC”点菜LIGNE 1PHP变量未定义错误(但它被定义?)

这里是我对有关商店的显示代码的摘录。

if(isset($_GET['formSubmit'])) 
    { 
     $varStats = $_GET['formStats']; 
     $errorMessage = ""; 

      switch($varStats) 
      { 

      case "ByAMEX": $sort = "AMEX = 1"; break; 
      case "ByBDOTerminal": $sort = "BDOTerminal = 'YES'"; break; 
      case "ByResto": $sort = "Resto = 'YES'"; break; 
      case "ByCashOnly": $sort = "Cash = 'YES'"; break; 
      case "ByPOSNotSeen": $sort = "POSNotSeen = 'YES'"; break; 
      } 

      $conn = db_connect(); 
      sortMall($conn, $sort); 
      db_disconnect($conn); 

      exit(); 
    } 

下面是摘录,我初始化排序功能:

function sortMall($conn, $sort) 
{ 
$table = "test"; 
$column1 = "StoreName"; 
$column2 = "Mall"; 


$query1 = "Select $column2, Count($column1) AS Counter from $table where $sort GROUP BY $column2 ORDER BY Counter DESC"; 

$result = mysqli_query($conn, $query1); 
    if ($result == FALSE) 
    { 
     echo "Invalid query: " . $conn->error; 

     echo "<br/>"; 
     return; 
    } 

我其实有另一种功能,几乎不会有相同的语法,都是一样的,它的工作原理。我不知道为什么不这样做。

+0

哪里是它告诉你关于未定义的变量的警告? –

+0

在脚本开始时将变量定义为null。像$ variable = null; –

+0

它说,错误就行 sortMall($康恩,$排序); – AndyMarty

$varStats可能不是你所定义的情况下,添加一个default情况

如果是这样,$排序是没有定义是你的问题

试试这个

if(isset($_GET['formSubmit'])) 
    { 
     $varStats = isset($_GET['formStats']) ? $_GET['formStats'] : ''; 
     $errorMessage = ""; 

      switch($varStats) 
      { 

      case "ByAMEX": $sort = "AMEX = 1"; break; 
      case "ByBDOTerminal": $sort = "BDOTerminal = 'YES'"; break; 
      case "ByResto": $sort = "Resto = 'YES'"; break; 
      case "ByCashOnly": $sort = "Cash = 'YES'"; break; 
      case "ByPOSNotSeen": $sort = "POSNotSeen = 'YES'"; break; 
      default: $sort = 'yourvalue';// default case 
      } 

      $conn = db_connect(); 
      sortMall($conn, $sort); 
      db_disconnect($conn); 

      exit(); 
    } 

可能是你的$sort未能从switch获得价值

试试这个,

if(isset($_GET['formSubmit'])) 
{ 
    $varStats = isset($_GET['formStats']) ? $_GET['formStats'] : ''; 
    $errorMessage = ""; 
    $sort = "1=1"; 

     switch($varStats) 
     { 

     case "ByAMEX": $sort = "AMEX = 1"; break; 
     case "ByBDOTerminal": $sort = "BDOTerminal = 'YES'"; break; 
     case "ByResto": $sort = "Resto = 'YES'"; break; 
     case "ByCashOnly": $sort = "Cash = 'YES'"; break; 
     case "ByPOSNotSeen": $sort = "POSNotSeen = 'YES'"; break; 
     default: $sort = 'yourvalue';// default case 
     } 

     $conn = db_connect(); 
     sortMall($conn, $sort); 
     db_disconnect($conn); 

     exit(); 
}