我想將表單的值插入名爲company的數據庫表中。但是這個程序一再告訴我,我的查詢沒有得到執行。我可以知道爲什麼這樣嗎?爲什麼下面的PHP代碼沒有在數據庫中插入值?
我已存儲的形式的所有值到一個數組稱爲插入件和比我破滅陣列並將其命名爲newarray使得其在可插入到數據庫中的形式。
但這似乎不適用於我。請告訴我這裏有什麼問題?
<?php
$host = "localhost";
$name = "root";
$password = "";
$db = "shopinz";
$con = mysqli_connect($host,$name,$password,$db);
$insert = array();
$newarray = array();
if(mysqli_connect_errno()){
echo("Cannot connect to the databse".mysqli_connect_errno());
exit();
}
else{
if($_SERVER['REQUEST_METHOD'] == 'POST'){
foreach($_POST as $value){
if($value == $_POST['submit']){
break;
}
else{
array_push($GLOBALS['insert'],$value);
}
}
$newarray = implode(',',$insert);
$result = mysqli_query($con,"INSERT INTO company (company_name,company_number,company_address) VALUES($newarray)");
if($result){
echo("1 row added");
}
else{
echo("Query not executed");
}
}
}
?>
** **危險:你是**易受[SQL注入攻擊(http://bobby-tables.com/)**,你需要[保衛](http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin 2014-10-08 12:48:54
你爲什麼不看看你實際運行的查詢?爲什麼不使用'mysqli_error()'來找出數據庫對於你運行代碼的企圖所說的話? – Quentin 2014-10-08 12:49:31
輸出所有錯誤。你的值沒有用''newarray''中的'''封裝,並且產生了錯誤的SQL代碼 – ljacqu 2014-10-08 12:49:35