无法将uniqid()值插入MySQL数据库

时间:2013-06-16 06:02:25

标签: php mysql database insert

我从测试表单中将行插入数据库,当我引入uniqid()时,它不起作用。表单工作正常并插入数据但是当我引入唯一的行时它不会。

我最初拥有的独特'我的MySQL数据库中的行设置为VARCHAR(500),并且不知道这是否是问题所以我将其更改为TEXT(500)。它不应该成为问题,因为我已经回应了$ unique和它只是数字和字母,但我不确定服务器端脚本是否解释它。我也不知道还有什么可以调试!我在周围搜索了将uniqid()值插入数据库时​​是否应该做些什么,但它似乎与其他任何值都不同。我错过了什么吗?谢谢你的帮助!

$test1 = $mysqli->real_escape_string($_POST['test1']);
$test2 = $mysqli->real_escape_string($_POST['test2']);
$test3 = $mysqli->real_escape_string($_POST['test3']);
$test4 = $mysqli->real_escape_string($_POST['test4']);
$unique = uniqid();

//ECHO OUT UNIQUE ID TO MAKE SURE IT WORKED
echo "<script>alert('".$unique."');</script>";

$sql_insert = "INSERT INTO users (test1, test2, test3, test4, unique) VALUES ('$test1', '$test2', '$test3', '$test4', '$unique')";
$result_insert = $mysqli->query($sql_insert);

//ECHO OUT UNIQUE ID AGAIN TO MAKE SURE IT REMAINS THE SAME (AND IT DOES)
echo "<script>alert('".$unique."');</script>";

//IF EVERYTHING WORKS, FORWARD TO SECOND FORM PAGE
if($result_insert){
    header('Location:second_form.php');
}
//IF THERE IS AN ERROR INSERTING THE DATA, GIVE AN ERROR MESSAGE
else{
    echo "<script>alert('There was an error submitted your info. Please try again.');</script>";
}

修改

Echo&#39; ed $ mysqli-error,这就是我得到的:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   “唯一的”价值观(&#39; Test1&#39;,&#39; Test2&#39;,&#39; Test3&#39;,&#39; Test4&#39;,   #&39; 51bd57e7bf4dd&#39;)&#39;在第1行

我在代码的那个区域看不到错误?

1 个答案:

答案 0 :(得分:2)

UNIQUEreserved MySQL word。你应该使用反引号来解决这个问题。