【发布时间】:2015-01-15 23:16:27
【问题描述】:
基本上,我有一个从数据库中获取数字的查询,然后我需要获取该数字,将其转换为整数,这样我就可以给它加 1,然后再次查询它以更新数据库。
基本上,我希望每次有人点击它时都会将数据库编号更新为相同的数字 + 1。
代码:
$id = $_POST['id'];
$curr = mysqli_query($mysqli, "SELECT `likes` FROM savage WHERE `id` = '$id'");
$curr2 = intval($curr) + 1;
mysqli_query($mysqli, "UPDATE savage SET `likes`='$curr2' WHERE `id`='$id'");
我尝试使用 intval?我只是在尝试。
【问题讨论】:
-
为什么将数字作为字符串存储在数据库中?另外,这段代码会产生什么;即有什么问题?
-
其实,刚才看了一下,这里的 mysqli 文档并没有应有的用处。这是切换到 PDO 的一个很好的理由。 php.net/manual/en/pdo.query.php 无论如何,它也适用于更多的数据库类型,而不仅仅是 MySQL。
-
该值作为整数存储在数据库中,但是当我执行 $curr + 1 时,它会在最初为 0 时将数据库中的数字更新为“2”。然后,如果你在数字为“2”时尝试做同样的事情,它根本不会更新。