简体   繁体   English

如何将表单数据插入phpmyadmin数据库?

[英]How do I insert my form datas into my phpmyadmin database?

I'm having problems with inserting my form data into the database. 我在将表单数据插入数据库时​​遇到问题。 Help!! 救命!!

if($_SERVER["REQUEST_METHOD"] == "POST" ){
    if(!empty($_POST)){

        $servername = "localhost";
        $username = "root";
        $password = "";
        $dbname = "data";

        $conn = new mysqli($servername, $username, $password, $dbname);

        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        $sql = "INSERT INTO cases (name, email, case, phone, address) VALUES ('{$conn->real_escape_string($_POST['name'])}', '{$conn->real_escape_string($_POST['email'])}',
        '{$conn->real_escape_string($_POST['message'])}', '{$conn->real_escape_string($_POST['phone'])}', '{$conn->real_escape_string($_POST['address'])}')";
        $insert = $conn->query($sql);

        $conn -> close();
    });

Case is a MySQL reserved word. 大小写是MySQL的保留字。 You have to enclose it in back ticks `. 您必须将其括在反勾号`中。 Changed to prepared statement. 更改为准备好的语句。

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try{
    $db = mysqli_connect($host, $user, $pass, $db);
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}
$sql = '
INSERT INTO cases
 (name, email, `case`, phone, address) 
VALUES
  (?,?,?,?,?)
';
try{
    $stmt = $db->prepare($sql);
    $stmt->bind_param('sssss',$_POST['name'],$_POST['email'],$_POST['message'],$_POST['phone'],$_POST['address']);
    $stmt->execute();
} catch(Exception $e) {
    var_dump($e);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM