PHP从URL中获取数据并插入到DB中不起作用 - 语法错误

时间:2012-12-10 19:11:02

标签: php mysql

为课程做一个项目,但我似乎无法让它工作:

$account = $_GET['account'];
mysql_query("INSERT INTO my_bank (Account) VALUES ('"$accounts"')");

如果我将第二行更改为:

mysql_query("INSERT INTO my_bank (Account) VALUES ('TEST')");

然后它有效。我猜这是一个引用的问题,但我找不到一个有效的方法。任何有关报价如何运作的保证回退?

2 个答案:

答案 0 :(得分:2)

基本PHP语法:

mysql_query("INSERT INTO my_bank (Account) VALUES ('" . $accounts . "')");
or
mysql_query("INSERT INTO my_bank (Account) VALUES ('$accounts')");

既然你刚开始使用PHP,你应该知道SQL injection attacks。添加一些攻击缓解代码(例如mysql_real_escape_string())和一些评论说你为什么使用m_r_e_s()可以从你的教授那里获得一些奖励积分。

答案 1 :(得分:2)

除了Marc B的回答,你在mySQL语句中调用了错误的变量:

$account = $_GET['account'];
mysql_query("INSERT INTO my_bank (Account) VALUES ('"$accounts"')");

在您的对帐单中注意定义$account并调用$accounts(注意's')。

应该是:

$account = $_GET['account'];
mysql_query("INSERT INTO my_bank (Account) VALUES ('$account')");