我正在使用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(); ?>发布于 2013-03-06 01:39:59
如果id值是自动递增的,则不必指定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()来转义你的值
发布于 2013-03-06 01:48:12
如果ID是主键和自动增量,则不需要传入查询并使用此查询:
$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)."'";希望它能对你有所帮助。
发布于 2013-03-06 01:49:44
只需删除null中的单引号,并使用不带引号的引号,例如null
https://stackoverflow.com/questions/15230371
复制相似问题