我尝试了所有我能想到的,然后一遍又一遍地看。我添加了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行的“字符(id,用户名,characterName,gender,height)附近使用

最佳答案

首先,您必须在问题中指定数据库的逻辑结构,并且看来您的ID是主键并且您已完成$id = $id。这可能导致id重复或为null,因此是否设置了该变量的第一次检查,还检查了其他约束,例如not null。如果将其应用在字段中,但未实现,则也不能插入行。

其次,检查您的数据库连接字符串,如果您可以通过以下连接字符串访问数据库,

boolean function connect($host, $uname , $pass){
if(mysql_connect($host, $uname, $pass))
return true;
else
return false;
}


尝试一下,这也许可以插入行

关于php - 我的PHP代码不允许我插入到mysql表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19754506/

10-11 14:50
查看更多