1

我只想知道如何从 $row[posts_remaining] 中出现的数字中减去 1

换句话说...


<?php
$con = mysql_connect($db_server_name,$db_username,$db_password);
if (!$con) {
    //do something
}
mysql_select_db("" . $db_database_name . "", $con);
$result = mysql_query("SELECT * FROM users
WHERE fb_id='$user_id'");
while($row = mysql_fetch_array($result)) {
    $posts_remaining = $row['posts_remaining']
    // this is where I want to subtract 1 and then update "posts_remaining" with the new number
}

mysql_close($con);
?>

这会给我我的结果 where row posts_remaining = {THE NUMBER}

但是我想通过从中减去一个来更新返回的数字,然后将新数字设置在旧数字所在的位置。

我希望我不会让这令人困惑。很难解释。

另外...我是否应该将“posts_remaining”行设置为除 TEXT 之外的其他内容以执行此操作....如 Char(50) 或其他内容,或者可以将其保留为 TEXT?

4

3 回答 3

3

首先,您必须将字段的类型从文本修改为整数比更新记录尝试此查询

update users
set
posts_remaining= posts_remaining - 1
WHERE fb_id='your_user_id'
于 2013-10-09T12:08:51.340 回答
0

您可以使用数据库查询本身来做到这一点:

mysql_query("Update users set posts_remaining = posts_remaining -1 where fb_id='$user_id'");
于 2013-10-09T12:10:26.650 回答
0

列类型必须是整数,而不是字符串,您必须对其进行编辑。您可以使用

UPDATE users SET posts_remaining = posts_remaining -1 where fb_id = '$user_id'

您也容易受到 SQL 注入攻击,您应该查看准备好的语句以减少这些攻击的影响 ( https://www.w3schools.com/php/php_mysql_prepared_statements.asp )

于 2021-10-24T23:48:58.287 回答