Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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
Can';t使用PHP插入数据库_Php_Mysql - Fatal编程技术网

Can';t使用PHP插入数据库

Can';t使用PHP插入数据库,php,mysql,Php,Mysql,出于学习目的,我正在本地系统上创建密码管理器。然而,在将数据插入数据库时会出现一个问题,我不知道为什么它不起作用 我的整个文档可以在下面找到 设置密码 地点: 网址: 电子邮件/用户名: 密码: 有人能告诉我为什么这个代码不起作用吗 mysql_查询(“插入到管理器(站点、url、用户名、密码)值(“$site”、“$url”、“$login”$pass”); 插入前使用转义符 $site = mysql_real_escape_string($site); $url = mysql_rea

出于学习目的,我正在本地系统上创建密码管理器。然而,在将数据插入数据库时会出现一个问题,我不知道为什么它不起作用

我的整个文档可以在下面找到


设置密码
地点:
网址:
电子邮件/用户名:
密码:
有人能告诉我为什么这个代码不起作用吗

mysql_查询(“插入到管理器(站点、url、用户名、密码)值(“$site”、“$url”、“$login”$pass”);

插入前使用转义符

$site = mysql_real_escape_string($site);
$url = mysql_real_escape_string($url);
$login = mysql_real_escape_string($login);
$pass = mysql_real_escape_string($pass);

// now insert 

mysql_query("INSERT INTO manager (site, url, username, password) VALUES ('$site', '$url', '$login', '$pass')");

注意:
mysql.*
已弃用<代码>使用mysqli*或
PDO

在插入之前使用转义符

$site = mysql_real_escape_string($site);
$url = mysql_real_escape_string($url);
$login = mysql_real_escape_string($login);
$pass = mysql_real_escape_string($pass);

// now insert 

mysql_query("INSERT INTO manager (site, url, username, password) VALUES ('$site', '$url', '$login', '$pass')");

注意:
mysql.*
已弃用
使用mysqli*
PDO

问题在于,
'$login'
之后缺少

mysql_query("INSERT INTO manager (site, url, username, password) VALUES ('$site', '$url', '$login' '$pass')");
应该是

mysql_query("INSERT INTO manager (site, url, username, password) VALUES ('$site', '$url', '$login', '$pass')")

问题是,
“$login”
之后缺少一个

mysql_query("INSERT INTO manager (site, url, username, password) VALUES ('$site', '$url', '$login' '$pass')");
应该是

mysql_query("INSERT INTO manager (site, url, username, password) VALUES ('$site', '$url', '$login', '$pass')")

在新代码中。它们不再得到维护,而是在使用。改为学习准备好的语句,并使用or.append
或die(mysql\u error())
mysql\u query($sql)或die(mysql\u error())并查看错误comes@hjpotter92因为这只是为了我,我不在乎它们是否被弃用,只要它们能工作。然后开始转义你在查询中使用的变量。你用这些代码做了很多坏事。人们告诉你不应该使用不推荐的函数的原因并不是因为有人决定创建只有时髦人士才会使用的新东西。较新的机制(PDO)实际上可以让您编写更少的代码,这些代码可以立即防止任何可能的SQL注入(请注意,SQL注入并不总是关于攻击,许多SQL注入会在常规算法流中产生问题)。您还没有向我们展示您使用的输入是什么,所以只需查看代码,没有人可以告诉您出了什么问题。在新代码中。它们不再得到维护,而是在使用。改为学习准备好的语句,并使用or.append
或die(mysql\u error())
mysql\u query($sql)或die(mysql\u error())并查看错误comes@hjpotter92因为这只是为了我,我不在乎它们是否被弃用,只要它们能工作。然后开始转义你在查询中使用的变量。你用这些代码做了很多坏事。人们告诉你不应该使用不推荐的函数的原因并不是因为有人决定创建只有时髦人士才会使用的新东西。较新的机制(PDO)实际上可以让您编写更少的代码,这些代码可以立即防止任何可能的SQL注入(请注意,SQL注入并不总是关于攻击,许多SQL注入会在常规算法流中产生问题)。您还没有向我们展示您使用的输入是什么,所以只需查看代码-没有人能告诉您出了什么问题。@hd。哦,对不起,兄弟,打字出错了。我在你发帖子之前试过这个,但不起作用。虽然我做了
$site=mysql\u real\u escape\u string($\u POST['site'])但我看不到任何真正的区别。@Spedwards然后查看文档,了解mres将做什么。@Spedwards尝试我的代码。然后看看发生了什么。我一定会帮助乌斯蒂尔得到同样的错误,“列计数与第1行的值计数不匹配”@hd。哦,对不起,兄弟,打字出错了。我在你发帖子之前试过这个,但不起作用。虽然我做了
$site=mysql\u real\u escape\u string($\u POST['site'])但我看不到任何真正的区别。@Spedwards然后查看文档,了解mres将做什么。@Spedwards尝试我的代码。然后看看发生了什么。我肯定会帮助uStill得到同样的错误,“列计数与第1行的值计数不匹配”