使用带有Android界面的PHP从数据库中选择行

时间:2016-08-01 16:21:26

标签: php android mysql database select

我想使用以下php脚本从我的用户表'tbl_login'中选择一行:

<?php

    include 'config.inc.php';

    $conn = mysqli_connect($servername, $username, $password, $dbname);

    $email = $_POST["email"];

    $sql = "SELECT email, firstname, lastname, location 
        FROM tbl_login
        WHERE email = '$email'";

    $res = mysqli_query($conn,$sql);

    $result = array();

    while($row = mysqli_fetch_array($res)){
        array_push($result,
        array('email'=>$row[0],
              'firstname'=>$row[1],
              'lastname'=>$row[2],
              'location'=>$row[3]
              ));
    }

    if ($conn->query($sql) === TRUE) {
        echo "Selected row successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    echo json_encode(array("result"=>$result));

    mysqli_close($conn);

?>

我的问题是我不确定如何写这部分:

$email = $_POST['email']; // <--- This.

$sql = "SELECT email, firstname, lastname, location 
        FROM tbl_login
        WHERE email = '$email'"; // <--- And this.

如果我在没有$ _POST的情况下尝试并且只使用像'Luke'这样的硬编码字符串,那么它可以工作,所以我认为我的问题出现在$ _POST上。

我的其他脚本都是以这种方式完成的,它们都可以工作,如果你可以告诉我为什么这不起作用,我会非常感激,因为我已经在这个工作了几个小时了。 非常感谢,Charles。

1 个答案:

答案 0 :(得分:1)

试试

$email = $_REQUEST["email"];

$sql="SELECT email, firstname, lastname, location FROM tbl_login WHERE email='$email'";