在MySQL数据库中存储和检索整数

时间:2011-05-07 13:29:20

标签: php mysql

我在MySQL中遇到整数问题。我正在尝试更新存储整数的单元格。但是,我对该单元格的类型有疑问。实际上它的类型设置为int但是当我检索数据时,我总是得到0而我相信它是因为我试图得到它的问题。这是我的代码示例;

    function updateNumb($username) {


    $query = "SELECT `num` FROM `profiles` WHERE `nick`='" . $username . "'";
    $result = mysql_query($query, $this->conn) or die(mysql_error());

    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    $row['num'] = $row['num'] + 1;
    $numb = (int)$row['num'] + 1;



//here I update the data.

    $query = "UPDATE `profiles` SET `num`=" . $numb . " WHERE `nick`='".$username."'";
    mysql_query($query, $this->conn) or die(mysql_error());

    return $numb;
}

可以因为mysql_fetch_array的东西吗?或者我怎么能克服这个问题?

2 个答案:

答案 0 :(得分:1)

partisayisi替换为num

答案 1 :(得分:0)

你提供的代码没有任何问题,也许它没有做你真正需要的东西,例如num增加了两次,但是没有可见的错误使它返回0,至少不是我们能看到的

确保你提供有效的用户名,在发送到mysql之前尝试回显你的查询以查看它的真实情况,也许你自己在mysql客户端或phpmyadmin中尝试这个查询,看看是怎么回事。

另外,如果您需要的是为某些用户增加num,您可以在一次更新中执行此操作,则无需使用select来获取该数字:

UPDATE profiles set num=num+1 WHERE nick='somenick'