簡體   English   中英

特定用戶的SQL更新

[英]SQL update for specific user

我正在使用用戶帳戶系統,並且需要更新SQL數據庫中的記錄。 我嘗試查找它,但是我發現的所有解決方案似乎都沒有用。 我的桌子看起來像這樣

   userId userName userCoins
     30      Bob       0

我想更新用戶名,所以它看起來像這樣

userId userName userCoins
 30      jim       0

--

<?php
    ob_start();
    session_start();
    include_once 'dbconnect.php';

    $res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
    $userRow=mysql_fetch_array($res);
    if ( isset($_POST['btn-signup']) ) {
        //This is where I am trying to update

        UPDATE users SET userName = 'jim' WHERE userCoins=0;
    }
?>
<!DOCTYPE html>
<html>
    <?php header("Access-Control-Allow-Origin: http://www.py69.esy.es"); ?>
    <head></head>
    <body>
        <center>
        <h3>Welcome, <?php echo $userRow['userName']; ?>. You Currently Have <span id="services"><?php echo $userRow['userCoins']; ?></span> Service Coins</h3>
            <div class="form-group">
                <div class="input-group">
                    <span class="input-group-addon"><span class="glyphicons glyphicons-lock"></span></span>
                    <input type="text" id="emp_id" name="sender" class="form-control" placeholder="Enter Your Wallet Key" value="<?php echo $row['userCoins']; ?>" maxlength="15" />
                    <span class="text-danger"><?php echo $error; ?></span>
                </div>
            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-block btn-primary" name="btn-signup">Sign Up</button>
            </div>
        </center>
    </body>
</html>
<?php ob_end_flush(); ?>

您需要像使用SELECT一樣使用該函數並在其周圍使用引號:

if ( isset($_POST['btn-signup']) ) {
        //This is where I am trying to update

       mysql_query("UPDATE users SET userName = 'jim' WHERE userCoins=0");
    }

您還使用了舊的API,並且可以進行sql注入。

使用准備好的語句。

參考文獻:

並如評論所述:

為什么要基於userCoins = 0更新? 這將更新具有零(無)個硬幣的每個用戶名。 那真的是您想要做的嗎? –查爾斯·布雷塔納

因此,您可能必須添加一個附加子句。

您還需要確保$_SESSION['user']數組確實包含一個值。 否則,您的查詢將失敗。

檢查錯誤:

您可以將查詢寫為:

UPDATE users SET userName = 'jim' WHERE userId=30;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM