使用php检索表值


Retrieving table value with php

所以我正在为我的游戏编写一个帐户登录区域,其中有一个json-get操作,它在我的网站上调用log.php。json操作看起来像http://domain.com/log.php?fname='"&myUserName&"'&fpass='"&myPassword&"'

log.php的内容如下。

<?php header('Access-Control-Allow-Origin: *'); 
    $username = $_GET['fname'];
    $password = $_GET['fpass'];
    $connect = mysqli_connect("localhost","user","pass","db") or die("Could not connect");
    $sql = "SELECT id FROM members WHERE username = '$username' and password = '$password'";
    $result =  mysqli_query($connect, $sql);
    if($result === FALSE) { 
            die(mysql_error());
    }   
    while ($row = mysqli_fetch_array($result)) {
        echo $row['id'];
    }
mysql_close($connect);
?>

我没有从中得到任何错误,但它不会返回id,也就是说,假设在游戏中设置变量"userID"。它仍然是空白的。有什么办法让它发挥作用吗?

感谢

更改为

$username = $_GET['fname'];

您需要使用json_encode()函数来生成json响应。

$username = $_GET['fname'];
    $password = $_GET['fpass'];
    $connect = mysqli_connect("localhost","user","pass","db") or die("Could not connect");
    $sql = "SELECT id FROM members WHERE username = '$username' and password = '$password'";
    $result =  mysqli_query($connect, $sql);
    if($result === FALSE) { 
            die(mysql_error());
    }   
    while ($row = mysqli_fetch_array($result)) {
        $res = array("userID"=> $row['id']);
    }
    mysql_close($connect);
    echo $res_json = json_encode($res);
    ?>

在客户端,您将使用解析JSON&data.userID

Nevermind,我在一个编码伙伴的帮助下解决了这个问题。如果你们有兴趣的话,这里有解决办法。

<?php 
header('Access-Control-Allow-Origin: *'); 
error_reporting(0);
require 'connection.php';
$username = $_GET["fname"];
$password = $_GET["fpass"];
$safeuser = $db->real_escape_string(md5($username));
$safepass = $db->real_escape_string(md5($password));
if($result = $db->query("SELECT * FROM `members` WHERE username='".$safeuser."' AND password='".$safepass."'")){
    if ($count = $result->num_rows){
        while($row = $result->fetch_assoc()){
            echo $row['id'];
        }

    }
}   
  $db->close();
 ?>