Post方法总是返回任何内容

时间:2016-12-04 10:59:20

标签: php android mysql

我正在尝试检查PHP和MySQL的给定信息是否正确! (对于android项目)但是当我发送它们并且我尝试使用POST方法并在我的数据库中比较它们时,POST方法总是返回没有信息已经发送。 所以这是我的代码:

<?php
$mysqli = new mysqli("localhost", "root", "", "hochschule");

/* verify connection */
if (mysqli_connect_errno()) {
printf("connection failed : %s\n", mysqli_connect_error());
exit();
}
/* recover data */
$benutzername = $mysqli->real_escape_string(isset($_POST['PARAM_LOGIN']));
$passwort = $mysqli->real_escape_string(isset($_POST['PARAM_PASSWORT']));

$result =  $mysqli->query("SELECT COUNT(*) FROM user WHERE benutzername    ='$benutzername' AND passwort='$passwort'");
$row = $result->fetch_row();
if($row[0] !=0) {
printf("true");
}else
printf("false");

/* Closing the connection */
$mysqli->close();
?>

我使用PHP 5.6和MYSQL 5.7,我在谷歌浏览器中使用了DHC插件来测试PHP脚本。
  注意:
我认为这是一个兼容性问题,因为我使用的是PHP 5.6和MYSQL 5.7,而且这个代码我用它来用于早期项目以及早期版本的PHP(5.5)和MYSQL(5.6),当时它运行良好。
谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

问题是isset只返回一个布尔值(true或false) - 而不是参数的值。

所以你想要这样的东西:

/* recover data */
$benutzername = null;
$passwort = null;

if(isset($_POST['PARAM_LOGIN'])) 
    $benutzername =$mysqli->real_escape_string($_POST['PARAM_LOGIN']);
if(isset($_POST['PARAM_PASSWORT'])
    $passwort = $mysqli->real_escape_string($_POST['PARAM_PASSWORT']);