使用php将网页中的数据存储到数据库

时间:2019-09-13 05:43:55

标签: php html sql ajax database

帮助,我正在创建一个网页,该网页必须包含用户的联系方式和消息,并将其存储在数据库中,但是我不断收到错误消息

<div id="form-messages"/>
<form id="ajax-contact" method="post" action="mailer.php">
    <div class="grid-x">
        <div class="large-6 medium-12 small-12">
            <input type="text" name="name" id="contact-name" placeholder="Name" required />
        </div>
        <div class="large-6 medium-12 small-12">
            <input type="text" name="email" id="contact-email" placeholder="Email" required />
        </div>
        <div class="large-12">
            <textarea name="message" id="contact-message" placeholder="Message" required rows="4"/>
        </div>
        <div class="large-12">
            <ul class="actions">
                <li>
                    <input type="submit" class="style1" value="Send" />
                </li>
                <li>
                    <input type="reset" class="style2" value="Reset" />
                </li>
            </ul>
        </div>
    </div>
</form>

<?php
$servername = "localhost";
$username = "newuser";
$password = "12345";
$dbname = "testdb";

$usr_name = $_POST['name'];
$usr_email = $_POST['email'];
$usr_message = $_POST['message'];

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO users ('name', 'email', 'message' )
----------------------->QUOTATION MARKS<-----------------------
    VALUES ('$usr_name', '$usr_email', '$usr_message')";
    // use exec() because no results are returned
    $conn->exec($sql);
    echo "New record created successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$conn = null;
?>

必须使用PDO将数据保存在数据库上,而我不断收到此错误

  

将INERT INTO用户(“名称”,“电子邮件”,“消息”)的值(taki,   test @ test.com,sdf dsfg)SQLSTATE [42000]:语法错误或访问权限   违反:1064您的SQL语法有错误;查看手册   对应于您的MySQL服务器版本的正确语法,   在“名称”,“电子邮件”,“消息”附近使用)VALUES(taki,test @ test.com,   sdf dsfg)”位于第1行

0 个答案:

没有答案