2015-07-11 83 views
1

我正在創建一個頁面,用戶填寫報表並將該報表插入到數據庫中 我在我的php頁面下面應該向表格報表插入新值,但它正在更新代替PHP正在更新,而不是插入

<?php 
include 'connectionfile.php' ; 
$ref = $_POST['ref']; 
$title =$_POST['titl']; 
$type = $_POST['type']; 
$content = $_POST['content']; 
session_start(); 
$sql = "insert into reports (reference, title,id_type, content) values ('".$ref."', '".$title."', '". $type."','".$content."');"; 
$result =mysqli_query($con,$sql); ?> 

是因爲id_type(表型的主鍵)是值1和2的外鍵-in表報告 - ?

因爲如果我插入id_type=1例如,id_report(表報告的主鍵)增量爲1,同去id_type=2

答案可能是明確的,我在web開發的知識被遺忘了。

+0

這是不可能的,檢查您的表或您的定義觸發器或更新可能是模糊的 – Mihai

+0

您的代碼打開'SQL注入';逃避輸入或使用準備好的語句。 – Jite

+0

我已經閱讀了一些sql注入頁面,真相被告知我無法理解如何防止它。你能給我提供正確的代碼嗎? –

回答

2

使用您提供的SQL查詢,不可能進行更新。您可以製作UPDATE ON DUPLICATE KEY,但這不在此查詢中。請注意,您不必爲自動設置的參數指定任何值(AUTO_INCREMENT)。

+0

您在'reports'表中沒有名爲'id_type'的行。 – hanshenrik

+0

@Adnan:索引'id_type'沒有在'$ _POST'數組中定義。 – Richard

+0

@hanshenrik:錯了。這,你只能看到一個MySQL錯誤消息,這是沒有提供。 – Richard