2012-10-12 28 views
0

當textbox爲空時,我在UPDATE中設置空值時出現問題。這是我的價值:空的文本框作爲NULL在數據庫中

$kod = $_POST['Kod']; 
$kod = !empty($kod) ? "'$kod'" : "NULL"; 

和查詢:

$query = "UPDATE Sprzety SET Kod = $kod, Wlasciciel = '$wlasciciel', Konfiguracja = '$konfiguracja' WHERE SprzetID = '$id'"; 

這裏有什麼問題?

+2

嗯,有一件事你是通過使用從這樣的SQL語句的_POST價值觀邀請的SQL注入。 –

+0

@PaulTomblin這裏有什麼更好的方法? – cadi2108

+0

@ cadi2108使用帶有mysqli_或PDO功能的準備好的語句。 'mysql_'函數正在[棄用](http://www.deprecatedphp.com/mysql)。 – Kermit

回答

3

您應該使用mysqli_PDO函數。下面是一個mysqli_程序的解決方案:

$kod = !empty($_POST['Kod']) ? $_POST['Kod'] : null; 

//$link refers to your mysqli_ connection 
if ($stmt = mysqli_prepare($link, 
    "UPDATE UPDATE Sprzety 
    SET Kod = ?, Wlasciciel = ?, Konfiguracja = ? 
    WHERE SprzetID = ?")) { 

/* bind parameters for markers */ 
mysqli_stmt_bind_param($stmt, "sssi", $kod, $wlasciciel, $konfiguracja, $id); 

/* execute query */ 
mysqli_stmt_execute($stmt); 
+0

謝謝,我會用它 – cadi2108

+0

@ cadi2108 Prosze bardzo – Kermit

相關問題