2013-07-23 89 views
0

我有一個表單,我將數據發佈到數據庫。我希望它能更新sku = sku的記錄,我之前從未這樣做過,所以我已經閱讀了這篇文章並嘗試了各種方法,但他們沒有奏效。這是我到目前爲止嘗試過的。無法從表單中更新數據庫中的記錄

<?php 
if(isset($_POST['submit'])) 
{ 

$hostname_conn = "host address"; 
$database_conn = "database"; 
$username_conn = "username"; 
$password_conn = "password"; 
$conn = mysql_connect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 

    mysql_select_db("bi_social", $conn); 

    $sqlCmd = sprintf("UPDATE table2 SET sku2=%s sku=%s WHERE sku='%s'", 
    mysql_real_escape_string($_POST["sku"]), 
    mysql_real_escape_string($_POST["sku2"]), 
    mysql_real_escape_string($_POST["sku3"])); 

    //echo $sqlCmd; 
    //die();  

    mysql_query($sqlCmd); 

    mysql_close($conn); 
} 

?> 
<form method="post"> 
      <div class="large-3 columns"> 
<input name="sku" type="text" id="sku" placeholder="sku" value="<?=$_GET["sku"]?>"/> 
      </div> 
      <div class="large-3 columns"> 
<input name="sku2" type="text" id="sku2" placeholder="sku2" value="<?=$_GET["sku2"]?>"/> 
      </div> 
      <div class="large-3 columns"> 
<input name="sku3" type="text" id="sku3" placeholder="sku3" value="<?=$_GET["sku3"]?>"/> 
      </div> 
      <div class="large-3 columns"> 
    <input class="alert button" name="submit" type="submit" value="MATCH!"/> 
    </div> 
    </div> 
    </div> 
    </div> 
</form> 

我不知道我做了什麼,使其無法正常工作我雖然可以插入到數據庫,但更新不工作。我哪裏錯了,我該如何解決這個問題。感謝瑞安

+0

您試圖在一個語句中更新兩件事..我不確定這甚至是可能的。無論如何,查詢是錯誤的。你的錯誤信息是什麼? –

+0

@RensGroenveld我沒有得到一個,它不會發布到數據庫 –

+0

如果出現問題,你應該總是得到一個錯誤。 Perhpas錯誤語句不會傳遞到您的輸出。嘗試放下一行:error_reporting(E_ALL);在腳本的頂部 –

回答

1

你缺少的更新語句一個逗號。更新聲明應該是這樣的:

UPDATE table2 SET sku2='%s', sku='%s' WHERE sku='%s' 
+0

非常感謝這個工作,我知道我看錯了我的位置。通過不把所有的%s都放在''中並且忽略逗號。 –

0

變化:

$sqlCmd = sprintf("UPDATE table2 SET sku3=%s, sku2=%s WHERE sku='%s'", 
mysql_real_escape_string($_POST["sku3"]), 
mysql_real_escape_string($_POST["sk2"]), 
mysql_real_escape_string($_POST["sku"])); 

OR,

$sqlCmd = "update table2 set sku3 = '".mysql_real_escape_string($_POST['sku3'])."', sku2 = '".mysql_real_escape_string($_POST['sku2'])."' where sku = '".mysql_real_escape_string($_POST['sku'])."'"; 
+0

嗨@Niloy Saha我試過了,它沒有奏效不知道爲什麼。 –

+0

使用第二個查詢,並讓我知道 –

+0

您好我也試過這個,但它沒有奏效。但我現在已經找到了我的答案,我發現錯誤的地方,謝謝你的幫助,Ryan –