Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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,我正在尝试将HTML表单中的一些数据发布到mysql数据库中 以下是我的HTML代码: <!doctype html> <html> <head> </head> <body style="background-color:#BCB7B7"> <form id="form1" name="form1" method="post" style="text-align:center" action="post.php"> &

我正在尝试将HTML表单中的一些数据发布到mysql数据库中

以下是我的HTML代码:

<!doctype html>
<html>
<head>
</head>
<body style="background-color:#BCB7B7">
<form id="form1" name="form1" method="post" style="text-align:center" action="post.php">
  <input type="text" name="name" id="name" placeholder="Name">
  <p></p>
  <input type="text" name="age" id="age" placeholder="Age">
  <p></p>
  <input type="text" name="food" id="food" placeholder="Food">
  <p></p>
  <input type="submit" name="submit" id="submit" value="Submit">
</form>
</body>
</html>
下面是我的php代码:

<?php
$connect = mysql_connect("localhost","myusername","mypassword","mydbname");
mysql_select_db("mydbname",$connect);
mysql_query("INSERT INTO myTable VALUES Name = $_POST[name],  Age = $_POST[age], Food = $_POST[food]");
?>

但是数据没有保存

必须引用SQL中的字符串。您正在将变量不带引号地转储到SQL中

你的语法也错了。格式是插入到表\u name column\u name、column\u name value、value中

您也无法逃逸数据,因此容易受到SQL注入攻击

要解决您的问题,请执行以下操作:

停止使用不推荐使用的mysql库,并切换到mysqli或PDI 使用绑定参数将变量插入SQL 使用正确的语法
这有一些例子。

您必须引用以下值:

mysql_query("INSERT INTO myTable VALUES Name = '$_POST[name]',  Age = '$_POST[age]', Food = '$_POST[food]'");
提示:您应该使用mysqli_uu或PDO_uu函数,因为mysql_uu函数已被弃用

<?php
$connect = mysql_connect("localhost","myusername","mypassword","mydbname") or die("error while connecting to the database");
mysql_select_db("mydbname",$connect) or die("error while selecting the database");
mysql_query("INSERT INTO myTable VALUES ('" . mysql_real_escape_string($_POST[name]) . "', '" . mysql_real_escape_string($_POST[age]) . "', '". mysql_real_escape_string($_POST[food]) . "')");
?>

INSERT命令有两种不同的版本-您都不使用

要么:

INSERT INTO myTable SET Name = "Peter", 
Age = 15, Food = "pizza"


将错误报告添加到文件顶部错误报告全部;ini设置“显示错误”,1;和localhost、myusername、mypassword,您选择了下面的DB名称。另外,您的值与SQL注入相差甚远。它不是Name=。。。这只是价值本身。一定要阅读适当的教程。危险:这仍然容易受到SQL注入攻击。我知道这一点。他应该阅读一些关于将表单数据正确安全地插入sql db的教程。我只修复了他的问题:你应该使用mysqli_uuu或PDO_uu函数,因为mysqli_uu和/或PDO函数是不受欢迎的,使用mysqli_uuu和/或PDO不是防止SQL注入的保护措施;不是靠他们自己。使用,或PDO与will。我没有说这些是安全措施。我只是说mysql_uu函数不推荐使用。我看到你引用了我的答案。。。我在哪里说过使用这些可以提供保障我只是说,这些措施的使用并不是保障措施,也不是在说什么。人们会产生错误的印象,认为通过使用mysqli_uu和/或PDO,SQL注入不会发生。我真的不知道人们从哪里得到了关于ThoseAPI的误解。@Quentin,issue fixedEither:INSERT INTO myTable SET Name-这是错误的。这需要更新myTable SET Name=Peter…@Fred ii--你错了。这是一种不太常见的语法,但有些人喜欢它。如果你不相信我,那就去读mysql手册吧。我的错,对不起,山姆,我会改正的。威尔+1为我的错误道歉-
INSERT INTO myTable (Name, Age, Food) VALUES 
("Peter", 15, "pizza")