2016-03-04 69 views
-1

我正試圖向數據庫插入詳細信息。它會運行成功消息,但不會將任何數據插入數據庫。嘗試不同的方式,但仍然沒有數據插入到數據庫。查詢運行但不向數據庫插入數據

我已更新我的代碼以顯示整個過程。 代碼:

 <?php 

$con = mysqli_connect("localhost","root","","the_official_one"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 


if(isset($_POST['submit'])){ 

    $prod_name = strtoupper($_POST['prod_name']); 
    $prod_brand = $_POST['prod_brand']; 
    $prod_cat = $_POST['prod_model']; 
    $prod_price = $_POST['prod_price']; 
    $prod_desc = $_POST['prod_desc']; 
    $prod_qty = $_POST['prod_qty']; 
    $d = date("Y-m-d"); 

    mysqli_query($con,"INSERT into products(product_cat, product_brand, product_title, product_price, product_desc, product_qty, product_image, date) 
    VALUES ('" . $prod_cat . "','" . $prod_brand . "','" . $prod_name . "','" .$prod_price . "','" . $prod_desc . "','" . $prod_qty . "', '" . $prod_name . "', '" . $d . "')"); 

    $uniq_id = mysqli_insert_id($con); 
    echo $uniq_id." ";  



    foreach($_FILES['product_image']['tmp_name'] as $key => $tmp_name){ 

    $name = $_FILES['product_image']['name'][$key]; 
    $tmpname = $_FILES['product_image']['tmp_name'][$key]; 
    $type = $_FILES['product_image']['type'][$key]; 
    $size = $_FILES['product_image']['size'][$key];   

    mkdir("product_images/$prod_name/"); 
    $dir = "product_images/$prod_name/"; 

    $move = move_uploaded_file($tmpname, $dir.$name); 
    $path = "$prod_name/".$_FILES['product_image']['name'][$key]; 
    $img = $_FILES['product_image']['name'][$key]; 

    if($move) {        
     $sql = mysqli_query($con,"INSERT into product_images(prod_id, image) VALUES ('".$uniq_id."', '".$img."')"); 
     $query = mysqli_query($con,"update products set product_image_1='$path' where product_title='$prod_name'"); 

    if($query) { 
     header('location: add_prods.php?message=success'); 
    } else { 
     header('location: add_prods.php?message=failed'); 
    } 

    } else { 
     echo '<hr>Picture upload failed<br /><hr />'; 
    } 
    } 
    }  

    ?> 

的代碼錯誤是:

 mysqli_query($con,"INSERT into products(product_cat, product_brand, product_title, product_price, product_desc, product_qty, product_image, date) 
    VALUES ('" . $prod_cat . "','" . $prod_brand . "','" . $prod_name . "','" .$prod_price . "','" . $prod_desc . "','" . $prod_qty . "', '" . $prod_name . "', '" . $d . "')"); 
+0

您使用的是交易嗎? –

+0

如何獲得'$ con'變量? –

+0

@ThomasRollet'$ con = mysqli_connect(「localhost」,「root」,「」,「the_official_one」); //檢查連接 if(mysqli_connect_errno()) echo「無法連接到MySQL:」。 mysqli_connect_error(); }' – emilkitua

回答

1
mysqli_autocommit($con,TRUE); 

mysqli_query($con,"INSERT into products(product_cat, product_brand, product_title, product_price, product_desc, product_qty, product_image, date) 
VALUES ('" . $prod_cat . "','" . $prod_brand . "','" . $prod_name . "','" .$prod_price . "','" . $prod_desc . "','" . $prod_qty . "', '" . $prod_name . "', '" . $d . "')"); 

OR

mysqli_commit($con); 

你應該考慮關閉連接完成後無論哪種方式。

mysqli_close($con); 

如果沒有這些工作,嘗試輸出的

mysqli_query($con,"INSERT into products(product_cat, product_brand, product_title, product_price, product_desc, product_qty, product_image, date) 
VALUES ('" . $prod_cat . "','" . $prod_brand . "','" . $prod_name . "','" .$prod_price . "','" . $prod_desc . "','" . $prod_qty . "', '" . $prod_name . "', '" . $d . "')" 

的內容,看看什麼錯誤。

無論哪種方式如果在構建該查詢之前沒有進行變量轉義,則可以避免SQL注入

相關問題