我的PHP代码不会让我插入到我的mysql表中

时间:2013-11-03 15:19:49

标签: php mysql sql database insert-update

我尝试了所有我能想到的东西,我一遍又一遍地看着它。我添加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')附近使用正确的语法

2 个答案:

答案 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)

确保使用或死亡,因为这会显示您的数据库连接可能出现的任何错误