2013-07-23 59 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 –