Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将表单数据插入MySQL?_Php_Html_Mysql - Fatal编程技术网

Php 将表单数据插入MySQL?

Php 将表单数据插入MySQL?,php,html,mysql,Php,Html,Mysql,我使用jQuery表单收集用户数据,并尝试将表单值插入表ptb_registrations 我收到错误“更新数据库时出错” 请有人告诉我哪里出了问题,这应该很简单 HTML: 注册一个免费的ACTION-TIME.COM帐户 至少4个字符。仅限大写字母、小写字母和数字。 至少4个字符。对于强密码,请混合使用大小写。 如果您的密码不相等,您将无法继续注册。 注册一个免费的WEBEXP18帐户 你的名字。 你的姓。 你的电子邮件地址。我们向该地址发送重要的管理通知。 注册一个免费的WEBEXP18

我使用jQuery表单收集用户数据,并尝试将表单值插入表
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')
to
mysql\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."')";