2014-10-10 20 views
-2

我想選擇但是從數據庫中即時收到此錯誤:解析錯誤:語法錯誤,意想不到的 '迴響'(T_ECHO)在C: test_USSD2 listener.php上線46

Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\wamp\www\Project\USSD_Misec\test_USSD2\listener.php on line 46

這是我的代碼:

<?php 
    include "func/database.php"; 

    //$db = new Database(); 
    $db =new Database('localhost', 'username', 'password', 'database_name'); 
    $db->connect(); 


    $data = file_get_contents("php://input"); 
    $line = "\n-------------------------------------------------------------\n"; 
    file_put_contents("logs/ussdgw.txt", $data."\n", FILE_APPEND); 

    $dataDecoded = json_decode($data); 

    $uri = array_reverse(explode("/", $_SERVER["REQUEST_URI"])); 
    $usid = $uri[1]; 
    $action = $uri[0]; 



    $defaultmenu = array(
     "shouldClose" => false, 
     "ussdMenu" => "Hello Welcome to Misec..., choose : 
     1.Enrolment Enquiry 
     2.Enrolment Date 

     3.Exit", 
     "responseExitCode" => 200, 
     "responseMessage" => "" 
     ); 

    switch($action) 
    { 
     case 'response':  

       switch($dataDecoded->text) 
       { 
        case 1: 
         $ussdMenu = "1. Enrolment Enquiry"; 
         $q = "SELECT * FROM ussd ORDER BY id DESC"; 
         $r = $db->query($q); 
         // if we have a result loop over the result 
         if($db->num_rows($r) > 0){ 
          while($a = $db->fetch_array_assoc($r)){ 

              echo "{$a['id']} wrote $a['name']\n"; 

             } 

         } 
        break; 
        case 2: 
         $ussdMenu = "2. Enrolment Date"; 
        break; 
       } 
      $response = array(
       "shouldClose" => true, 
       "ussdMenu" => $ussdMenu, 
       "responseExitCode" => 200, 
       "responseMessage" => "" 
      ); 
      $r_encoded = json_encode($response); 
      echo $r_encoded; 
     break; 

     case 'status': 
      $sessions = file_get_contents("logs/sessions.txt"); 
       $sessionsActive = explode("\n", $sessions); 
        if(in_array($usid, $sessionsActive)) 
         $sessionActive = true; 
        else 
         $sessionActive = false; 

        $end = array(
         "sessionActive" => $sessionActive, 
         "responseExitCode" => 200, 
         "responseMessage" => "" 
        ); 
       $endEncoded = json_encode($end); 
       echo $endEncoded; 
     break; 

     case 'start': 
      echo json_encode($defaultmenu); 
      file_put_contents("logs/sessions.txt", $usid."\n", FILE_APPEND);  
     break; 

     case 'end': 

      $sessions = file_get_contents("logs/sessions.txt"); 
       $sessionsActive = explode("\n", $sessions); 
        unset($sessionActive[$usid]); 
       $sessionsModified = implode("\n", $sessionActive); 
       file_put_contents("logs/sessions.txt", $sessionsModified); 


      $end = array(
       "responseExitCode" => 200, 
       "responseMessage" => "Connection ended" 
      ); 
      $endEncoded = json_encode($end); 
      echo $endEncoded; 
     break; 
} 
+0

變化'回聲 「{$ A [ '身份證']}寫$ A [ '名'] \ n」;'到'回聲$援助'] 。 「寫道」。 $ a ['name']。 「\ n」;' – 2014-10-10 11:47:02

+0

@ Fred-ii-但是如何改變'echo'是意外的呢?這不僅解決了「意外的T_ENCAPSED_AND_WHITESPACE」? – kero 2014-10-10 11:50:19

+0

@ Arif_suhail_123謝謝,但我寧願等待OP。這實際上是OP已發佈的http://stackoverflow.com/q/26136518/的副本。 – 2014-10-10 11:50:29

回答

0

您已經將其中一個變量括在大括號中,這是正確的,但不是第二個。更改以下行:

echo "{$a['id']} wrote $a['name']\n"; 

到:

echo "{$a['id']} wrote {$a['name']}\n"; 
相關問題