在MySQL中插入表单数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MySQL中插入表单数据?相关的知识,希望对你有一定的参考价值。

我正在使用jQuery表单收集用户数据,并试图将表单值插入到表中 ptb_registrations.

我得到的错误 "错误更新数据库"

谁能告诉我,我哪里做错了,请问,这应该是相当简单的。

html

<form action="process_registration.php" method="post" id="reg_form">

    <!-- #first_step -->
    <div id="first_step">
        <h1>SIGN UP FOR A FREE <span>ACTION-TIME.COM</span> ACCOUNT</h1>
        <div class="form">
            <input type="text" name="username" id="username" value="username" />
            <label for="username">At least 4 characters. Uppercase letters, lowercase letters and numbers only.</label>

            <input type="password" name="password" id="password" value="password" />
            <label for="password">At least 4 characters. Use a mix of upper and lowercase for a strong password.</label>

            <input type="password" name="cpassword" id="cpassword" value="password" />
            <label for="cpassword">If your passwords aren’t equal, you won’t be able to continue with signup.</label>
        </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->
        <input class="submit" type="submit" name="submit_first" id="submit_first" value="" />
    </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->

    <!-- #second_step -->
    <div id="second_step">
        <h1>SIGN UP FOR A FREE <span>WEBEXP18</span> ACCOUNT</h1>

        <div class="form">
            <input type="text" name="firstname" id="firstname" value="first name" />
            <label for="firstname">Your First Name. </label>
            <input type="text" name="lastname" id="lastname" value="last name" />
            <label for="lastname">Your Last Name. </label>
            <input type="text" name="email" id="email" value="email address" />
            <label for="email">Your email address. We send important administration notices to this address. </label>                    
        </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->
        <input class="submit" type="submit" name="submit_second" id="submit_second" value="" />
    </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->

    <!-- #third_step -->
    <div id="third_step">
        <h1>SIGN UP FOR A FREE <span>WEBEXP18</span> ACCOUNT</h1>

        <div class="form">
            <select id="age" name="age">
                <option> 0 - 17</option>
                <option>18 - 25</option>
                <option>26 - 40</option>
                <option>40+</option>
            </select>
            <label for="age">Your age range. </label> <!-- clearfix --><div class="clear"></div><!-- /clearfix -->

            <select id="gender" name="gender">
                <option>Male</option>
                <option>Female</option>
            </select>
            <label for="gender">Your Gender. </label> <!-- clearfix --><div class="clear"></div><!-- /clearfix -->

            <select id="country" name="country">
                <option>United States</option>
                <option>United Kingdom</option>
                <option>Canada</option>
                <option>Serbia</option>
                <option>Italy</option>
            </select>
            <label for="country">Your country. </label> <!-- clearfix --><div class="clear"></div><!-- /clearfix -->

        </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->
        <input class="submit" type="submit" name="submit_third" id="submit_third" value="" />

    </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->

    <!-- #fourth_step -->
    <div id="fourth_step">
        <h1>SIGN UP FOR A FREE <span>WEBEXP18</span> ACCOUNT</h1>

        <div class="form">
            <h2>Summary</h2>

            <table>
                <tr><td>Username</td><td></td></tr>
                <tr><td>Password</td><td></td></tr>
                <tr><td>Email</td><td></td></tr>
                <tr><td>Name</td><td></td></tr>
                <tr><td>Age</td><td></td></tr>
                <tr><td>Gender</td><td></td></tr>
                <tr><td>Country</td><td></td></tr>
            </table>
        </div>      <!-- clearfix --><div class="clear"></div><!-- /clearfix -->
        <input class="send submit" type="submit" name="submit_fourth" id="submit_fourth" value="" />            
    </div>

</form>

PHP mysql

<?php ob_start(); 

include '../includes/_config/connection.php'; 

$query="INSERT INTO ptb_registrations (ID,
     username,
     password,
     firstname,
     lastname,
     email,
     age,
     gender,
     country
 )
VALUES('NULL',
     '".$username."',
     '".$password."',
     '".$firstname."',
     '".$lastname."',
     '".$email."',
     '".$age."',
     '".$gender."',
     '".$country."'
)";
mysql_query($query) or die ('Error updating database');
?>

<?php include ('includes/send_email/reg_email.php'); ?>

<? ob_flush(); ?>
答案

如果它是自动递增的,你不必指定id值。

试试这个

   $query="INSERT INTO ptb_registrations (
 username,
 password,
 firstname,
 lastname,
 email,
 age,
 gender,
 country

 )
VALUES(
'".mysql_real_escape_string($username)."',
'".mysql_real_escape_string($password)."',
'".mysql_real_escape_string($firstname)."',
'".mysql_real_escape_string($lastname)."',
'".mysql_real_escape_string($email)."',
'".mysql_real_escape_string($age)."',
'".mysql_real_escape_string($gender)."',
'".mysql_real_escape_string($country)."'
)";

你应该通过以下方式来逃避你的价值 mysql_real_escape_string()

另一答案

如果 身份证 是主键和自动增量,那么你就不需要传入查询而使用这个查询。

$query = " INSERT INTO ptb_registrations SET
username = '".mysql_real_escape_string($username)."',
password = '".mysql_real_escape_string($password)."',
firstname = '".mysql_real_escape_string($firstname)."',
lastname = '".mysql_real_escape_string($lastname)."',
email = '".mysql_real_escape_string($email)."',
age = '".mysql_real_escape_string($email)."',
gender = '".mysql_real_escape_string($gender)."',
country = '".mysql_real_escape_string($country)."'";

希望对你有帮助

另一答案

只需去掉null中的单引号,使用不带引号的查询,例如null

另一答案

把列名去掉,试一试,果然有效。试试这样的方法

INSERT INTO table_name values(NULL, column_name);
另一答案

试试这个查询。

$query="INSERT INTO ptb_registrations(username,password,firstname,lastname,email,age,    gender,country) VALUES('".$username."','".$password."','".$firstname."',     '".$lastname."','".$email."','".$age."','".$gender."','".$country."')";

以上是关于在MySQL中插入表单数据?的主要内容,如果未能解决你的问题,请参考以下文章

在MySQL中插入表单数据?

使用 PDO 和 PHP 将表单中的数据插入 MySQL 数据库

使用 NodeJS Express 时将表单数据插入 MySQL 数据库

无法通过php在mysql表中插入数据

将重音字符 é 插入 Symfony2 中的表单时,如何在 mysql 数据库中将重音字符 é 保存为 é?

将表单数据插入 MySQL?