2012-07-22 115 views
1

生锈,只是简单地尝试通过参数传递的东西。我究竟做错了什么?PHP函数变量通过

//Insert into DB 
function insert(x,y,z) 
mysql_query("INSERT INTO x (y) 
VALUES ('z')"); 


insert("test","name","Tyler"); 
+2

你做错了一切。你读过这个:http://nz.php.net/manual/en/functions.user-defined.php? – zerkms 2012-07-22 20:36:58

+0

您忘记使用'$'来函数范围 – 2012-07-22 20:37:02

+0

中的变量和花括号,并且花括号也是 – madfriend 2012-07-22 20:37:26

回答

4
function insert($x,$y,$z){ 
    mysql_query("INSERT INTO ".$x." (".$y.") VALUES ('".$z."')"); 
} 
insert("test","name","Tyler"); 
+0

比我记得更让人困惑,谢谢!为什么围绕变量的点? – user1361154 2012-07-22 20:39:31

+0

'.'将变量与字符串连接起来。由于您使用的是双引号,所以并不是必需的,并且可以将变量直接放入字符串中,并且可以正确评估。 – RobB 2012-07-22 20:40:52

+0

该点是PHP的字符串连接运算符。如果你愿意,你也可以像''INSERT INTO $ x($ y)VALUES('$ z')“'做一样的操作,但是有些人出于某种原因不喜欢它。虽然我会争论,如果他们不喜欢它们,他们不应该把所有的字符串都用双引号括起来......因为插值只会在你不希望的时候发生。 :P – cHao 2012-07-22 20:41:16

1

一定要通过正确$引用变量:

//Insert into DB 
function insert($x, $y, $z) 
{ 
    mysql_query("INSERT INTO $x ($y) VALUES ('$z')"); 
} 


insert("test","name","Tyler"); 
+0

是的,我认为我正在做这种javascripty。谢谢 – user1361154 2012-07-22 20:46:25

+0

不客气。总是调试您的代码以确保所需的结果正确发生是有帮助的。 – RobB 2012-07-22 20:49:09

+0

我没有看到我的代码上有任何错误 – user1361154 2012-07-22 20:55:22