我尝试将用户插入数据库,但返回错误。
代码:
//Add User To Database
if(isset($_POST['add_user'])){
$uuid = $_POST['uuid'];
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$securitykey = $_POST['security-key'];
$password = $_POST['password'];
$phone = $_POST['phone'];
$activated = $_POST['activated'];
$role = $_POST['role'];
//All Fields Entered
//Convert Password to MD5
$password = md5($password);
//Split Full Name
list($firstname, $lastname) = explode(' ', $fullname);
//Convert Security Key To Caps Lock
$securitykey = strtoupper($securitykey);
//Insert Details into Database
$sqlQuery = ("INSERT INTO list_users (uuid, password, email, security_key, firstname, lastname, phone_no, activated, role)
VALUES ($uuid, $password, $email, $securitykey, $firstname, $lastname, $phone, $activated, $role)");
if($sqlLink->query($sqlQuery) === TRUE){
alert("This user has been added to the database. Thanks!");
}else{
alert("Whoops, there was an error adding this user: " . $sqlLink->error);
}
}
数据库: Database Structure
错误消息: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 2 行“@gmail.com, FFGT, test, test, 0777777777, 0, superadmin)”附近使用的正确语法
表格:
<?php
//Add new user
echo "<form action='control.php' method='POST'>";
echo "<tr>";
echo "<td><div class='input-group'><input autocomplete='false' name='uuid' type='text' class='form-control' placeholder='UUID'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false'' name='fullname' type='text' class='form-control' placeholder='Full Name'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false' name='email' type='text' class='form-control' placeholder='Email'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false' name='security-key' type='text' class='form-control' placeholder='Access Key'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false' autocomplete='off' name='password' type='password' class='form-control' placeholder='Password'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false' name='phone' type='text' class='form-control' placeholder='Phone No.'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false' name='activated' type='number' min='0' max='1'class='form-control' placeholder='0'></div></td>";
echo "<td><div class='input-group'><input autocomplete='false' name='role' type='text' class='form-control' placeholder='Role'></div></td>";
echo "<td><button name='add_user' type='submit' class='btn btn-sm btn-info'><i class='fa fa-plus'></i> Add User</button></td>";
echo "</tr>";
echo "</form>";
?>
最佳答案
字符串值在 sql 查询中需要使用单引号。整数可以不加引号,但如果加引号也没关系,比如:
$sqlQuery = ("INSERT INTO list_users (uuid, password, email, security_key, firstname, lastname, phone_no, activated, role)
VALUES ('$uuid', '$password', '$email', '$securitykey', '$firstname', '$lastname', '$phone', '$activated', '$role')");
关于PHP-MYSQLI : Inserting User Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33333035/