2016-04-23 28 views
0

好吧,所以我正在嘗試爲iOS創建一個應用程序。Sql將無法獲得值在哪裏

我的問題是,我認爲,當使用JSON並將其與SQL結合時,它不起作用。

所以這是我的代碼

<?php 
$user='Admin'; 
echo $user; 


    $host='HOST'; 
    $user='USER'; 
    $password='PASSWORD'; 



    $connection = mysql_connect($host,$user,$password); 

    if(!$connection){ 
     die('Connection Failed'); 
    } 
    else{ 
     $dbconnect = @mysql_select_db('DATABASE', $connection); 

     if(!$dbconnect){ 
      die('Could not connect to Database'); 
     } 
     else{ 
      $query = "SELECT * FROM AppLogin WHERE Username = '".$user."' "; 
      $resultset = mysql_query($query, $connection); 

      $records= array(); 

      while($r = mysql_fetch_assoc($resultset)){ 
       $records[] = $r; 
      } 

      echo json_encode($records); 
     } 
    } 
?> 

我得到的輸出是

管理員[]

如果我不喜歡這樣

<?php 


     $host='HOST'; 
     $user='USER'; 
     $password='PASSWORD'; 



     $connection = mysql_connect($host,$user,$password); 

     if(!$connection){ 
      die('Connection Failed'); 
     } 
     else{ 
      $dbconnect = @mysql_select_db('DATABASE', $connection); 

      if(!$dbconnect){ 
       die('Could not connect to Database'); 
      } 
      else{ 
       $query = "SELECT * FROM AppLogin WHERE Username = 'Admin' "; 
       $resultset = mysql_query($query, $connection); 

       $records= array(); 

       while($r = mysql_fetch_assoc($resultset)){ 
        $records[] = $r; 
       } 

       echo json_encode($records); 
      } 
     } 
    ?> 

我得到的輸出I想要:

[{ 「用戶名」: 「管理」, 「密碼」: 「密碼」}] ' 「$值」'

爲什麼當我使用WHERE =的SQL不工作

阿爾賓

+5

'$ user ='Admin';''''user ='USER';'。第二個是覆蓋另一個。 –

+0

您確定'$ user'是一個有效的用戶,查詢應該返回一些內容? – FredMaggiowski

+5

What @ Fred-ii-指出的是,你使用了s ame變量名('$ user')用於SQL查詢中的用戶名,以及用於連接到mysql_connect()'中的數據庫的用戶名。另請注意* mysql已被取消且不安全。使用mysqli或PDO * – RobP

回答

3

正如我在評論中提到:

「$ USER = '管理員';和$ user ='USER';.第二個是覆蓋其他。」

因此,您需要重命名其中的一個。

另外,你真的應該切換到PDOprepared statementsmysqli_* with prepared statements如果你的服務器支持他們,爲函數已被棄用

+0

感謝您的downvote。這是從看綠色一直改變:-) –

0

試試這個$query = "SELECT * FROM AppLogin WHERE Username = '$user' ";