0

我尝试了我能想到的一切,我一遍又一遍地看着它。我补充说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、用户名、字符名、性别、身高”附近使用正确的语法

4

2 回答 2

1

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

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

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

试试这个也许你可以插入行

于 2013-11-03T15:39:13.403 回答
0

确保你的 sql_connect 是正确的,如果你使用的是 alocalhost那么你应该有类似的东西

mysql_connect("localhost","root","password") or die(mysql_error)

确保使用或死亡,因为这将显示您在数据库连接中可能遇到的任何错误

于 2013-11-03T15:26:49.807 回答