简体   繁体   English

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

[英]Unable to UPDATE record in Database from form

I have a form which i am posting data to a database. 我有一个表格,我正在将数据发布到数据库。 I want it to update the record where sku=sku, I have never done this before so i have read up on this and tried various ways but they have not worked. 我希望它更新sku = sku的记录,我之前从未做过此事,因此我阅读了此书并尝试了各种方法,但它们没有起作用。 here is what i have tried so far. 到目前为止,这是我尝试过的。

<?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>

I am not sure what i have done to make it not work i can though insert in to the database but updating does not work. 我不确定我做了什么使它无法工作,虽然可以插入数据库但无法正常工作。 Where am i going wrong and how do i fix this. 我在哪里错了,我该如何解决。 Thanks Ryan 谢谢瑞安

You are missing a comma in update statement. 您在更新语句中缺少逗号。 The update statement should look something like this: 更新语句应如下所示:

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

Change: 更改:

$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'])."'";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM