2014-12-28 76 views
-3

我有一個名爲「kargo」的數據庫和一個名爲「cargos」的表。我嘗試了以下代碼,但POST的數據未添加到「貨物」表中。連接很好,並且不會返回錯誤。我能做什麼?Mysqli插入命令不工作

<?php include("functions.php"); get_header(); ?> 
<div id="content"> 
<?php $mysqli = new mysqli('localhost','root','','kargo'); 
$name = $_POST['c_name']; 
$c_texit = $_POST['c_texit']; 
$c_tarrive = $_POST['c_tarrive']; 
$target = "kargo/"; 
$target_file = $_FILES["cpic"]["tmp_name"]; 
$target_move = $target.$_FILES["cpic"]["name"]; 
$uploadOk = 1 ; 

if (file_exists($target_move)) { 
$uploadOk = 0; } 

if($uploadOk == 1) { 
$query = $mysqli->query("INSERT INTO cargos 
VALUES(NULL,'".$name."','".$c_texit."','".$c_tarrive."','".$target_move."')"); 
move_uploaded_file($target_file,$target_move); 
echo "Cargo added."; header("refresh:5;url=panel.php"); } 
else { echo "-"; header("refresh:5;url=panel.php"); } ?> 
</div> 
<?php get_footer(); ?> 
+0

是'VALUES(NULL'應該是'VALUES(NULL' –

+0

試過了,什麼都沒有發生 –

+2

首先要做的是檢查你的錯誤日誌,打開錯誤使用報告' error_reporting(E_ALL);'在文件的頂部,還應該使用縮進來幫助更輕鬆地查找語法錯誤,還需要告訴我們**期望的行爲**,而不是「它不會工作「 –

回答

0

測試一下數據類型你的每一列,也是NOT NULL和其他限制,如果你的數據插入到表貨物比賽利用探討。

如果使用本地主機,則可以通過對phpmyadmin執行mysqli命令來檢查錯誤。


您還可以使用mysqli_error()函數來檢查SQL是否有錯誤。

例子:

$query = $mysqli->query("INSERT INTO cargos VALUES(NULL,'".$name."','".$c_texit."','".$c_tarrive."','".$target_move."')")) 
if($mysqli->query($query) === FALSE) 
    { 
     mysqli_error($mysqli); // generate SQL error message. 
    } 
    else 
    { 
     // execute something... 
    } 
+0

我得到phpmyadmin的錯誤,謝謝朋友。 「列'id'不能爲空」 –