Php 将表单数据插入MySQL?
我使用jQuery表单收集用户数据,并尝试将表单值插入表Php 将表单数据插入MySQL?,php,html,mysql,Php,Html,Mysql,我使用jQuery表单收集用户数据,并尝试将表单值插入表ptb_registrations 我收到错误“更新数据库时出错” 请有人告诉我哪里出了问题,这应该很简单 HTML: 注册一个免费的ACTION-TIME.COM帐户 至少4个字符。仅限大写字母、小写字母和数字。 至少4个字符。对于强密码,请混合使用大小写。 如果您的密码不相等,您将无法继续注册。 注册一个免费的WEBEXP18帐户 你的名字。 你的姓。 你的电子邮件地址。我们向该地址发送重要的管理通知。 注册一个免费的WEBEXP18
ptb_registrations
我收到错误“更新数据库时出错”
请有人告诉我哪里出了问题,这应该很简单
HTML:
注册一个免费的ACTION-TIME.COM帐户
至少4个字符。仅限大写字母、小写字母和数字。
至少4个字符。对于强密码,请混合使用大小写。
如果您的密码不相等,您将无法继续注册。
注册一个免费的WEBEXP18帐户
你的名字。
你的姓。
你的电子邮件地址。我们向该地址发送重要的管理通知。
注册一个免费的WEBEXP18帐户
0 - 17
18 - 25
26 - 40
40+
你的年龄范围。
男性
女性
你的性别。
美国
大不列颠联合王国
加拿大
塞尔维亚
意大利
你的国家。
注册一个免费的WEBEXP18帐户
总结
用户名
密码
电子邮件
名称
年龄
性别
国家
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值自动递增,则不必指定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\u real\u escape\u string()
对值进行转义,如果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)."'";
希望它能对您有所帮助。只需删除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_error());更改mysql_query($query)或die('Error update database')
tomysql\u query($query)或die(mysql\u error())代码>和post结果。参数中存储了哪些值?您不会显示初始化它们的位置$用户名=$_POST[“用户名”]@uɐɥʇɐᴎ 您可以将其作为NULL
或'NULL'
或“NULL”
传递。这一点都不重要。如果你像这样使用“NULL”
,它应该可以工作。@Mahdi:我认为“NULL”和“NULL”有区别,你可以简单地检查一下:)
$query="INSERT INTO ptb_registrations(username,password,firstname,lastname,email,age, gender,country) VALUES('".$username."','".$password."','".$firstname."', '".$lastname."','".$email."','".$age."','".$gender."','".$country."')";