在我的php程序中,我必須將變量插入到我的一個sql表中。每次我去測試這些,這些值都不會被髮布到表格中。這些陳述有什麼問題嗎?或者比這兩條線更大的問題,通過使用插入數據到mySQL表
mysqli_query("insert into purchases (id, productID, quantity) values ('$id', '$productID', '$quantity')");
你缺少這些變量
在我的php程序中,我必須將變量插入到我的一個sql表中。每次我去測試這些,這些值都不會被髮布到表格中。這些陳述有什麼問題嗎?或者比這兩條線更大的問題,通過使用插入數據到mySQL表
mysqli_query("insert into purchases (id, productID, quantity) values ('$id', '$productID', '$quantity')");
你缺少這些變量
試試吧,你需要使用這種連接作爲你的第一個參數,像這樣
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
這是行不通的,因爲你錯過了程序風格代碼中的連接器 –
如果在程序方式使用mysqli_query一個單引號
$sqli = mySQLi_connect("localhost","root","root","myProject");
mysqli_query("insert into purchases (id, productID, quantity) values ($id, $productID, $quantity)");
請注意,我沒有把單引號放在這裏,因爲我從OP中複製,假設它們是mysql中的INT類型,並且他將進行驗證或intval()之前將它們放入查詢中。 –
首先,你正在混合你的程序和你的面向對象的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();
不插入id它應該自動遞增。變量也應該用單引號。 ('$ productID','$ quantity') –
如果不知道'$ id'等具有什麼值以及它們來自哪裏 –
他們從前一頁的表單發佈 – user3093085