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

标签 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>";
}

编辑

回显 $mysqli-error 这就是我得到的:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'unique) VALUES ('Test1', 'Test2', 'Test3', 'Test4', '51bd57e7bf4dd')' at line 1

我在代码的该区域没有看到错误?

最佳答案

UNIQUEreserved MySQL word 。您应该使用反引号,这应该可以解决问题。

关于php - 无法将 uniqid() 值插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17130641/

相关文章:

php使 session 保持事件状态多天

php - CodeIgniter 中等效的 MySQL 查询

php - 如何自动跟踪 PayPal 捐款并将其显示在我的网站上?

mysql - 无法使用 DBeaver 连接到 MariaDB

sql - 为多个用户使用 SDF 数据库文件

php - 在 Javascript 中反序列化 PHP 数组

mysql - 通讯链路故障; Heroku 上的 Spray.io 以及 ClearDB 附加组件

php - MySQL 数据无限滚动

java - 如何 "disable"Java对象?

mongodb - 在 MongoDB 中查询精确匹配