2016-04-23 30 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' ";