-3

我在插入数据库时​​遇到问题。查询成功完成,但是当我查看数据库时,字段为空。

这是我的 HTML 表单:

<form action = "add_at.php" method = "post">
    <input type = "text" class = "userip" name="userip">
    <input type = "text" class = "coordinates" name="coordinates">
    <input type = submit>
</form>

这是我的 php 脚本:

<?php

$mysql_host ='host';
$mysql_user ='user';
$mysql_pass ='pass';
$mysql_database = 'database';
$user_ip = $_POST['userip'];
$user_cords = $_POST['coordinates'];

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('unable to connect.');
mysql_select_db($mysql_database);
$query = "INSERT INTO `userips` (ip,cord) VALUES ('$user_ip','$user_cords')";

mysql_query($query) or die('nope, sorz.');
mysql_close();

echo('woot wooooooooooooot')

?>

更新:

我发现了问题。我需要在我的 HTML 表单中的一个输入字段中添加一个 \。简单的错误。不过,谢谢大家的帮助。

4

2 回答 2

1

mysql_error()在您的查询后尝试。我认为您的查询中有 SQL 错误。你真的应该看看 SQL-Injections。

mysql_query($query) or die('nope, sorz.');
echo mysql_error();
mysql_close();

编辑:

$query = "INSERT INTO `userips` (ip,cord) VALUES ('".mysql_real_escape_string($user_ip)."','".mysql_real_escape_string($user_cords)."')";
于 2013-10-30T22:55:26.390 回答
0

在调用 SQL 命令之前,您应该检查是否设置了 post 变量。

例如...

if (isset($_POST['userip']))

此外,您对 SQL 注入持开放态度。

于 2013-10-30T23:02:31.950 回答