无法从表单更新数据库中的记录

时间:2013-07-23 08:46:59

标签: php html mysql database forms

我有一个表单,我将数据发布到数据库。我希望它更新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>

我不知道我做了什么让它无法工作我可以插入到数据库但更新不起作用。我哪里出错了,我该如何解决这个问题。谢谢Ryan

2 个答案:

答案 0 :(得分:1)

您在更新语句中缺少逗号。 update语句应如下所示:

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

答案 1 :(得分: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'])."'";