2012-07-22 196 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