我尝试了所有我能想到的东西,我一遍又一遍地看着它。我添加echo ();
以查看问题是否是其他问题。所有内容都拼写在服务器上。我不知道还能做什么。请帮忙!!
<?php
include('../lock.php');
$username = $login_session;
$characterName = mysql_real_escape_string($_POST['characterName']);
$gender = mysql_real_escape_string($_POST['gender']);
$height = "58" + rand(2, 20);
$weight = "120" * rand(2, 8);
echo ($id . "<br />");
echo ($username . "<br />");
echo ($characterName . "<br />");
echo ($gender . "<br />");
echo ($height . "<br />");
echo ($weight . "<br />");
if(isset($_POST['nc1']))
{
$query = "INSERT INTO character(id, username, characterName, gender, height, weight) VALUES ('$id', '$username', '$characterName', '$gender', '$height', '$weight')";
mysql_query($query) or die('Error: ' . mysql_error());
//header('location:success.php');
echo ("success");
}
?>
2014年1月29日 - 我已经做了你建议的更新(但是mysqli)并且所有内容都正确地回显,mysql_error()返回空白但是有错误。 POST正在运行。我还是不知道如何解决它。连接也是正确的。
我把它拿回来,错误是: 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的'character(id,username,characterName,gender,height')附近使用正确的语法
答案 0 :(得分:1)
首先,您必须在问题中指定数据库的逻辑结构,并且您的ID似乎是主键,并且您已完成$id = $id
。这可能导致id重复或为null,因此设置或不设置对该变量的第一次检查,并检查其他约束,如非null。如果它在字段中应用但未满足,则也无法插入行。
如果可以通过连接字符串(例如
)访问数据库,请检查数据库连接字符串boolean function connect($host, $uname , $pass){
if(mysql_connect($host, $uname, $pass))
return true;
else
return false;
}
试试这可能你可以插入行
答案 1 :(得分:0)
确保你的sql_connect是正确的,如果你使用localhost
那么你应该有类似的东西
mysql_connect("localhost","root","password") or die(mysql_error)
确保使用或死亡,因为这会显示您的数据库连接可能出现的任何错误