首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从GET输入变量到不工作的SQL数据库

问从GET输入变量到不工作的SQL数据库
EN

Stack Overflow用户
提问于 2013-12-29 20:03:48
回答 3查看 72关注 0票数 0

我试图将$_GET中的变量插入到MySQL数据库中。我是个菜鸟,我不知道这是怎么回事!代码运行,它输出添加到表中的用户和用户I,但当我签入phpMyAdmin时

代码语言:javascript
复制
$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_ENCAPSED_AND_WHITESPACE、期望在第10行的PAGEPATH中的T_STRING、T_VARIABLE或T_NUM_STRING

EN

回答 3

Stack Overflow用户

发布于 2013-12-29 20:07:19

你没有执行查询!加:

代码语言:javascript
复制
    $db = mysql_connect($host,$username,$password);
    mysql_select_db($database) or die("Couldn't select database: " . $database);

 $userId = mysql_real_escape_string($_GET["userid"]);
 $userName = mysql_real_escape_string($_GET["username"]);

$sql = "INSERT INTO  users(  UserId ,  Username ) 
VALUES ('". $userId  ."','". $userName  ."');";

        mysql_query($sql, $db);
票数 2
EN

Stack Overflow用户

发布于 2013-12-29 20:06:25

尝试一下我已经删除了;并添加了mysql_query($sql);

代码语言:javascript
复制
<?php
$username = "sd";
$password = "asd";
$host = "sad";
$database = "asd";


$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]')";
mysql_query($sql);

echo "Username: " . $input_username . ", UserId: " . $input_userId ." added to table.";
mysql_close();
?>
票数 1
EN

Stack Overflow用户

发布于 2013-12-29 20:13:39

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

代码语言:javascript
复制
$sql = "INSERT INTO  users(  UserId ,  Username ) 
VALUES ('".$_GET["userid"]."','".$_GET["username"]."');";
mysql_query($sql, $db);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20829524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档