我正在做一个我的个人项目,我接受一个名称和电子邮件,所以我创建了一个数据库:

带有“名称”和“电子邮件”列的emailtemp

PHPMyAdmin Page

HTML表单:

<form method="post" action="connect.php" class="contact100-form validate-form">
    <div class="wrap-input100 m-b-10 validate-input" data-validate = "Name is required">
            <input class="s2-txt1 placeholder0 input100" type="text" name="username" placeholder="Your Name">
            <span class="focus-input100"></span>
    </div>

    <div class="wrap-input100 m-b-20 validate-input" data-validate = "Email is required: ex@abc.xyz">
        <input class="s2-txt1 placeholder0 input100" type="text" name="emailAddress" placeholder="Email Address">
        <span class="focus-input100"></span>
    </div>

    <div class="w-full">
        <button class="flex-c-m s2-txt2 size4 bg1 bor1 hov1 trans-04">
            Subscribe
        </button>
    </div>
</form>


PHP文件:

<?php
$connect = mysqli_connect("mysql.*****.net","*****","****>","emailtemp");
//Sending form data to sql db.
mysqli_query($connect,"INSERT INTO posts (customerName, customerEmail)
VALUES ('$_POST[username]', '$_POST[emailAddress]')";

?>


基于我阅读并查看的所有内容,它应该可以运行,但是在单击“订阅”后,它会显示connect.php并显示“当前无法处理此请求。
HTTP错误500“

有没有办法在后台进行此过程并停留在同一页面上并说成功?

最佳答案

http://php.net/manual/en/mysqli.prepare.php

$connect = mysqli_connect("mysql.*****.net","*****","****>","emailtemp");

if ($stmt = $mysqli_prepare($connect,"INSERT INTO posts (customerName, customerEmail) VALUES (?, ?)")) {
    mysqli_stmt_bind_param($stmt, "ss", $_POST['username'],$_POST['emailAddress']);
    mysqli_stmt_execute($stmt);
}

07-25 22:58
查看更多