我想更新数据库中的值。
这是我在 index.php 代码中添加向您的帐户添加积分的按钮的部分:
<div class="content">
<ul class="grid points-grid">
<li class="item">
<div class="cell-content section-content"><div class="points-add">
<div class="banner-wrap">
<a href="#" type="submit" class="btn" name="addpoints">Add 10 points</a>
</div>
</div>
</div>
这是我添加按钮功能并在 functions.php 中添加点的部分:
if (isset($_POST['addpoints'])) {
mysql_query("UPDATE users SET points += '10' WHERE 1");
}
我尝试寻找解决方案,但没有找到有效的解决方案。 感谢您的帮助。
最佳答案
@marakusa 我不知道你想用你向我们展示的这段代码来完成什么,但如果我明白一些事情,就是你想更新数据库中的用户点,我会告诉你我会如何做简单地讲一下。
首先,如果您不注意使用 javascript (ajax),我不知道为什么您会想要使用 a 标签。所以我将其更改为常规 HTML 表单,就像 @bistrovs 建议的那样
<div class="content">
<ul class="grid points-grid">
<li class="item">
<div class="cell-content section-content">
<div class="points-add">
<div class="banner-wrap">
<form method="POST" action="">
<button type="submit" class="btn" name="addpoints">
Add 10 points
</button>
</form>
</div>
</div>
</div>
</li>
</ul>
</div>
然后在我包含在表单所在同一页面中的functions.php文件中,我通过运行此sql查询来更新用户点:
if(isset($_POST['addpoints']) {
$query = "UPDATE users SET points = points + 10 WHERE user_id = '".$userid."'";
mysql_query($query) or die(mysql_error());
}
希望这对您有用
<小时/>已更新
数据库结构
-- Base de données : `demo`
-- Structure de la table `users`
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(255) NOT NULL,
`lastname` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`points` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
-- Contenu de la table `users`
INSERT INTO `users` (`id`, `firstname`, `lastname`, `email`, `points`) VALUES
(1, 'John', 'Doe', 'john@doe.com', 0),
(2, 'Jane', 'Doe', 'jane@doe.com', 0);
functions.php
<?php
$link = mysqli_connect("localhost", "root", "", "demo");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
?>
index.php
<?php
include 'functions.php';
if(isset($_POST['addpoints'])) {
$query = "UPDATE users SET points = points + 10 WHERE id = 1";
$result = mysqli_query($link, $query);
if ($result) {
echo "user points updated";
}
mysqli_close($link);
}
?>
<div class="content">
<ul class="grid points-grid">
<li class="item">
<div class="cell-content section-content">
<div class="points-add">
<div class="banner-wrap">
<form method="POST" action="">
<button type="submit" class="btn" name="addpoints">
Add 10 points
</button>
</form>
</div>
</div>
</div>
</li>
</ul>
</div>
关于PHP mySQL 数据库更新值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46630616/