2012-12-10 40 views
0

做类项目,但我似乎无法得到这个工作:PHP获取数据,并插入到数据库不工作 - 语法错误

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

如果我更改第二行:

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

然后,它的工作原理。我猜这是一个引用问题,但我一直没有找到一个有效的方法。任何有保证的报价应该如何工作?

回答

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()可能会从你的教授中获得一些奖励积分。

+0

嗯......我想我被困在Java的心态。感谢复习,我很感激。 – EGHDK

+0

顺便说一句,他正在使用'.'来连接:p(如果你不知道) –

+0

谢谢,@ Mr.Alien,也感谢Marc B.这真的很有帮助。感谢亲的技巧。 – EGHDK

2

除了马克·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')"); 
+0

我会鼓励它1ce你从查询中删除不必要的''' –

+0

啊,是的,我刚刚发现,当我在我的数据库中得到一个条目最终变成空白时,很困难的方式 – EGHDK

+0

你得到cookie + 1 –