Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 将GET中的变量输入SQL数据库不起作用_Php_Mysql_Sql_Get - Fatal编程技术网

Php 将GET中的变量输入SQL数据库不起作用

Php 将GET中的变量输入SQL数据库不起作用,php,mysql,sql,get,Php,Mysql,Sql,Get,我正在尝试将$\u GET中的变量插入MySQL数据库。我是个笨蛋,我想不出是怎么回事!代码运行并输出添加到表中的用户和用户ID,但当我签入phpMyAdmin时 $username = "username"; $password = "password"; $host = "host"; $database = "database"; $input_username = $_GET["username"]; $input_userId = $_GET["userId"]; mysql_conn

我正在尝试将$\u GET中的变量插入MySQL数据库。我是个笨蛋,我想不出是怎么回事!代码运行并输出添加到表中的用户和用户ID,但当我签入phpMyAdmin时

$username = "username";
$password = "password";
$host = "host";
$database = "database";
$input_username = $_GET["username"];
$input_userId = $_GET["userId"];
mysql_connect($host,$username,$password);
mysql_select_db($database) or die("Couldn't select database: " . $database);
$sql = "INSERT INTO  users( UserId ,  Username )        VALUES('$_GET['userId']','$_GET['username']');";
echo "Username: " . $input_username . ", UserId: " . $input_userId ." added to table.";
mysql_close();
编辑:我修改了代码以适应回复的答案,但现在我得到了以下错误:

分析错误:语法错误,意外的T_封装的_和_空格,第10行的PAGEPATH中需要T_字符串或T_变量或T_NUM_字符串


试试这个我已经删除了
并添加
mysql\u查询($sql)


试试这个我已经删除了
并添加
mysql\u查询($sql)


您没有执行查询!
加:


您没有执行查询! 加:


如果您想使用易受攻击的代码,您的sql必须如下所示:

$sql = "INSERT INTO  users(  UserId ,  Username ) 
VALUES ('".$_GET["userid"]."','".$_GET["username"]."');";
mysql_query($sql, $db);

如果您想使用易受攻击的代码,您的sql必须如下所示:

$sql = "INSERT INTO  users(  UserId ,  Username ) 
VALUES ('".$_GET["userid"]."','".$_GET["username"]."');";
mysql_query($sql, $db);


幸好它不起作用。你很容易受到伤害。你也完全没有错误处理能力,盲目地认为一切都会完美地工作,永远不会失败。@fred:如果可以的话,我会无限的。你刚才引入了语法错误,是吗@马尔布·洛迪·洛迪。那好吧。(OP)我讨厌
mysql.*
lolTo:(OP)根据Marc对SQL注入的评论,一定要仔细阅读这个=>的内容。@fred。除非使用
{}
表示法,否则不能在双引号字符串中引用数组键
“$arr['bad']{$arr['good']}$arr[good]”
。幸好它不起作用。你很容易受到伤害。你也完全没有错误处理能力,盲目地认为一切都会完美地工作,永远不会失败。@fred:如果可以的话,我会无限的。你刚才引入了语法错误,是吗@马尔布·洛迪·洛迪。那好吧。(OP)我讨厌
mysql.*
lolTo:(OP)根据Marc对SQL注入的评论,一定要仔细阅读这个=>的内容。@fred。除非使用
{}
表示法,否则不能在双引号字符串中引用数组键<代码>“$arr['bad']{$arr['good']}$arr[good]”
。呃。。。你真的把你的用户名和密码放在那里了吗?没有-答案没有编辑。它们是从原来的帖子中出现的。我只是复制、粘贴和添加更改删除了它们和数据库。我不敢相信我一开始就忘了把它们拿走。是的,有一段时间我们忘了正常的东西。。。你真的把你的用户名和密码放在那里了吗?没有-答案没有编辑。它们是从原来的帖子中出现的。我只是复制、粘贴和添加更改删除了它们和数据库。我不敢相信我一开始就忘了删除它们。是的,有时我们忘记了正常的事情“脆弱性”与最初的问题无关。在这个小脚本中,SQL注入的问题不是问题。谁在乎呢?你说得对,杰克·古尔德,这就是为什么我只回答一个基本问题:)否决票会很严厉,但@PeteR right。如果OP现在没有意识到,他永远不会。“如果OP现在没有意识到,他永远不会。”没错!让原始海报学习。如果他们甚至不能运行查询,他们将永远无法理解更大的概念。@JakeGould:是的,你说得很对。为什么我,或者其他人,真的要说废话?“这不是我的网站,”downvote收回。“漏洞”与最初的问题无关。在这个小脚本中,SQL注入的问题不是问题。谁在乎呢?你说得对,杰克·古尔德,这就是为什么我只回答一个基本问题:)否决票会很严厉,但@PeteR right。如果OP现在没有意识到,他永远不会。“如果OP现在没有意识到,他永远不会。”没错!让原始海报学习。如果他们甚至不能运行查询,他们将永远无法理解更大的概念。@JakeGould:是的,你说得很对。为什么我,或者其他人,真的要说废话?这不是我的网站,downvote已撤回。执行查询执行查询
$sql = "INSERT INTO  users(  UserId ,  Username ) 
VALUES ('".$_GET["userid"]."','".$_GET["username"]."');";
mysql_query($sql, $db);