数据库在提交时不更新值

时间:2016-06-10 08:16:00

标签: php mysql

我在提交时更新数据库时遇到一个小问题。

我的数据库中有以下内容: 一个名为iUserCash的varchar。

登录后我想在我的数据库表中编辑这一行。

html看起来像这样:

<form method="post">
            <table class="sign_up_form" align="center" width="30%" border="0">
            <tr>
             <td>
                <input type="text" name="cashBalance" placeholder="Nye beløb"/>
            </td>
            <td>
                <button type="submit" name="btn-update" class="betting-btn">OPDATER</button>
            </td>
            <td>
            </tr>
            <tr>
            </tr>
            </table>
            </form>

我的sql看起来像这样:

session_start();
include_once 'controllers/dbConnect.php';

if(!isset($_SESSION['user']))
{
 header("Location: index.php");
}
$res=mysql_query("SELECT * FROM oneusers WHERE iUserId=".$_SESSION['user']);

$userRow=mysql_fetch_array($res);

if(isset($_POST['btn-update']))
{
 $ucash = mysql_real_escape_string($_POST['cashBalance']);

 if(mysql_query("UPDATE oneusers SET iUserCash = '$ucash' WHERE iUserId='$res'"))
 {
?>
        <script>alert('successfully registered ');</script>
        <?php
 }
 else
 {
  ?>
        <script>alert('error while registering you...');</script>
        <?php
 }
}

它很好地返回成功消息,但它不会更新任何内容。谁能告诉我我做错了什么? :) 提前致谢。

1 个答案:

答案 0 :(得分:1)

你有错误

mysql_query("UPDATE oneusers SET iUserCash = '$ucash' WHERE iUserId='$res'")

你正在为iUserId使用$ res,但它是一个数据库资源......

似乎,$ _SESSION ['user']是你在查询中需要的ID ...所以试试吧

    mysql_query("UPDATE oneusers SET iUserCash = '$ucash' WHERE iUserId=" . $_SESSION['user']);