2016-07-27 2 views
0

내 오류가 어디에 있는지는 잘 모르지만 정렬이 정의되지 않았으며 오류에 대한 오류가 있습니다. 잘못된 구문 : 'GROUP BY Mall ORDER BY Counter DESC' à la ligne 1PHP 정의되지 않은 변수 오류 (정의되어 있습니까?)

다음은 매장 표시에 관한 코드입니다.

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; 
    } 

실제로 거의 같은 구문과 모든과 같은 않는 다른 기능을 가지고, 그것은 작동 : 여기

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(); 
    } 

내가 정렬 기능을 초기화 발췌 한 것입니다. 왜 이런 일이 일어나는지 모르겠다.

+0

여기서 정의되지 않은 변수에 대한 경고는 무엇입니까? –

+0

스크립트 시작시 variable을 null로 정의하십시오. like $ variable = null; –

+0

그 줄에 오류가 있다고합니다. sortMall ($ conn, $ sort); – AndyMarty

답변

0

$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(); 
    } 

이 될 수있다보십시오 문제

0

의 정의되지 않은 사용자의 $sort 값을 얻지 못함 switch

0

시도해보십시오.

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(); 
}