PHP插入空值而不是GET值

时间:2017-03-24 14:22:30

标签: php mysql get

我的网站上有这个脚本:

<?php

  $db_handle = mysql_connect($server, $user_name, $password);
  $db_found = mysql_select_db($database, $db_handle);

  if($db_found) {
    $SQL = "INSERT INTO users (user, address)
    VALUES('".$_GET['username']."','".$_GET['password']."')";

    $result = mysql_query($SQL);

    mysql_close($db_handle);
    print "Records added to the database";
  }
  else {
    print "Database NOT found";
    mysql_close($db_handle);
  }
?>

然后我在浏览器中打开此网址:

http://ringkapps.altervista.org/addToDatabase.php?user=ringk&address=test

但不是插入&#34; ringk&#34;和&#34;测试&#34;在表中,它插入:

enter image description here

无法理解为什么,非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

这段代码错了!

$SQL = "INSERT INTO users (user, address)
VALUES('".$_GET['username']."','".$_GET['password']."')";

替换它。

$SQL = "INSERT INTO users (user, address)
    VALUES('".$_GET['user']."','".$_GET['address']."')";

答案 1 :(得分:0)

因为你正在打电话

而无法正常工作
http://ringkapps.altervista.org/addToDatabase.php?user=ringk&address=test

创建$_GET["user"]$_GET["address"],但您尝试放入不存在的数据库$_GET['username']$_GET['password']

你应该致电:

http://ringkapps.altervista.org/addToDatabase.php?username=ringk&password=test

另外,请阅读security for PHP apps上的内容,您的代码容易出现很多漏洞!

答案 2 :(得分:0)

在网址中:http://ringkapps.altervista.org/addToDatabase.php?user=ringk&address=test

我们可以看到user = ringkaddress = test。 用户是关键并且使用它的价值。 地址是关键,并测试它的价值。

您可以使用$_GET打印所有var_dump($_GET)值,并自行查看其中的内容。

我的猜测是你想要的是访问 $_GET['user']$_GET['address']

然后只需更换一行:

 VALUES('".$_GET['username']."','".$_GET['password']."')";

 VALUES('".$_GET['user']."','".$_GET['address']."')";

或者您可以更新网址以匹配代码。