在我的数据库中,有我的用户,每个用户都有自己的“金”数量,我制作了一个按钮,每次单击时,其拥有的金数量增加100。问题是,我不知道如何为特定的登录用户执行此操作。这是我当前的更新代码
$addgold2 = mysqli_query($con,"UPDATE stats SET stats.gold = stats.gold + 100 WHERE stats.id=$retval2");
如果删除“ $ retval2”并仅输入ID,则可以使用。我想为已登录用户调用ID,然后仅更新这些统计信息。这是我的代码
$id2 = "SELECT users.id FROM users WHERE users.username=$username";
$retval2 = mysqli_query($con,$id2);
现在,如果我回显$ id2,它显示ID为“ 1”,但不是1!这是7 :(
我也收到这个错误
Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\wamp\www\Game\addgold.php on line 19
在第一行代码中
最后,这是完整的代码(表单在不同的页面上)
<?php error_reporting(E_ALL); ini_set('display_errors', 1);
include("connect.php");
include("header.php");
$username = $_SESSION['userlogin'];
$id2 = "SELECT users.id FROM users WHERE users.username=$username";
$retval2 = mysqli_query($con,$id2);
$sql = "SELECT stats.id, stats.gold, users.id, users.username FROM stats, users WHERE users.username = '$username' AND stats.id = users.id";
$retval = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "Gold: {$row['gold']} <br> ".
"--------------------------------<br>";
}
$row2 = mysqli_fetch_row($retval2);
$id2 = mysqli_num_rows($retval2) or die(mysql_error()." ".$id2);
echo $id2;
if(isset($_SESSION['userlogin'])){
$addgold2 = mysqli_query($con,"UPDATE stats SET stats.gold = stats.gold + 100 WHERE stats.id=$retval2");
if(isset($addgold2['submit'])){
}
echo "You have earned 100 gold!";
mysqli_close($con);
}
?>
您错过了$id2
SQL中的单引号
$id2 = "SELECT users.id FROM users WHERE users.username='$username'";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句