我在插入数据库时遇到问题。查询成功完成但当我查看数据库时,字段为空。
这是我的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表单中的一个输入字段中添加\。 简单的错误。谢谢大家的帮助。
答案 0 :(得分:1)
在查询后尝试mysql_error()
。我认为您的查询中存在SQL错误。你应该真的看看SQL注入。
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)."')";
答案 1 :(得分:0)
在调用SQL命令之前,您应该检查是否设置了帖子变量。
...例如
if (isset($_POST['userip']))
此外,您可以使用SQL注入。