【发布时间】:2013-12-29 20:03:48
【问题描述】:
我正在尝试将变量从 $_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_ENCAPSED_AND_WHITESPACE,在第 10 行的 PAGEPATH 中需要 T_STRING 或 T_VARIABLE 或 T_NUM_STRING
【问题讨论】:
-
好在它不起作用。你很容易受到SQL injection attacks 的攻击。你也有绝对 NO 错误处理,并且盲目地假设一切都会完美运行并且永远不会失败。
-
@fred:如果可以的话,我愿意。您刚刚介绍了语法错误,
-
我做到了? @MarcB Lordie Lordie。好吧。从头开始(OP)我讨厌
mysql_*lol -
To: (OP) 请阅读此 => stackoverflow.com/questions/60174/… 根据 Marc 对 SQL 注入的评论。
-
@fred。您不能在双引号字符串中引用数组键,除非您使用
{}表示法。"$arr['bad'] {$arr['good']} $arr[good]".