2013-12-11 229 views
0

在我的php程序中,我必須將變量插入到我的一個sql表中。每次我去測試這些,這些值都不會被髮布到表格中。這些陳述有什麼問題嗎?或者比這兩條線更大的問題,通過使用插入數據到mySQL表

mysqli_query("insert into purchases (id, productID, quantity) values ('$id', '$productID', '$quantity')"); 

你缺少這些變量

+1

不插入id它應該自動遞增。變量也應該用單引號。 ('$ productID','$ quantity') –

+0

如果不知道'$ id'等具有什麼值以及它們來自哪裏 –

+0

他們從前一頁的表單發佈 – user3093085

回答

1

試試吧,你需要使用這種連接作爲你的第一個參數,像這樣

mysqli_query($sqli, "insert into purchases (id, productID, quantity) 
    values ($id, $productID, $quantity)"); 

否則你可以n的一個面向對象的方式像這樣使用它:

$sqli->query("insert into purchases (id, productID, quantity) 
    values ($id, $productID, $quantity)"); 

如果您打開錯誤在你的代碼的報告,如下面的警告產生,你應該已經想通了這個問題:

PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/jkiang/test.php on line 10 
+0

這是行不通的,因爲你錯過了程序風格代碼中的連接器 –

0

如果在程序方式使用mysqli_query一個單引號

$sqli = mySQLi_connect("localhost","root","root","myProject"); 

mysqli_query("insert into purchases (id, productID, quantity) values ($id, $productID, $quantity)");  
+0

請注意,我沒有把單引號放在這裏,因爲我從OP中複製,假設它們是mysql中的INT類型,並且他將進行驗證或intval()之前將它們放入查詢中。 –

0

首先,你正在混合你的程序和你的面向對象的mysqli。其次,你沒有錯誤檢查。不知道你的變量包含什麼,我建議你嘗試這樣的事情:

$sqli = new mysqli_connect("localhost","root","root","myProject"); 

if($sqli->connect_errno > 0){ 
    die("Connection couldn't be established"); 
} 

$q = "insert into purchases (id, productID, quantity) values ($id, $productID, $quantity)"; 

if(!$result = $sqli->query($q)){ 
    die("There was an error with your query"); 
} 

$sqli->close();