mysqliquery上的php mysql int 0

krcsximq  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(605)

我是php和mysql的新生。我在为班级做一个自愿的小游戏。但我不明白为什么在执行mysqli查询时,当数据库分配了500个时,它会返回int 0。这个游戏由一个用户下注他帐户的一定数量的硬币,然后一个骰子决定你是否赢,取1,2,3你输,4,5,6你赢。我在这里张贴错误或这是什么。

  1. include('conexion.php');
  2. include('session.php');
  3. $usuario=$_SESSION["username"];
  4. $apuesta =$_POST["apuesta"];
  5. $coins= "SELECT coins FROM `users` WHERE `usuario` = \"$usuario\"";
  6. if (mysqli_query($conn, $coins)){
  7. echo "<br>";
  8. echo "hola";
  9. echo "<br>";
  10. var_dump($coins);
  11. echo "<br>";
  12. $coins2 = (int)$coins;
  13. var_dump($coins2);
  14. echo "<br>";
  15. echo "<br>";
  16. var_dump($coins2);
  17. echo "<br>";
  18. if ($apuesta>=$coins2) {
  19. echo "No tienes suficiente saldo";
  20. echo "<br>";
  21. }else {
  22. $dado = rand(1,6);
  23. if ($dado >3) {
  24. $apuesta = $coins2 + $apuesta;
  25. $cambiocartera = "UPDATE `users` SET `coins` = $apuesta WHERE `users`.`usuario` = '$usuario'";
  26. echo "<br>";
  27. echo "<h1>Ganaste = $dado";
  28. header( "refresh:3;url=dashboard.php");
  29. }
  30. elseif ($dado<4) {
  31. $apuesta = $coins2-$apuesta;
  32. $cambiocartera = "UPDATE `users` SET `coins` = $apuesta WHERE `users`.`usuario` = '$usuario'";
  33. echo "<br>";
  34. echo "<h1>Perdiste = $dado</h1>";
  35. header( "refresh:3;url=dashboard.php" );
  36. }
  37. }
  38. }else {
  39. echo"error";
  40. }


我的浏览器消息关于0上的int,我不明白为什么。

crcmnpdw

crcmnpdw1#

$coins 是包含查询的字符串,而不是要从表中检索的列。将字符串转换为数字时,它将返回 0 如果开头没有数字。
您需要分配 mysqli_query() ,然后对该变量调用fetch函数。

  1. if ($result = mysqli_query($conn, $coins)) {
  2. $row = mysqli_fetch_assoc($result);
  3. $num_coins = $row['coins'];
  4. var_dump($num_coins);

相关问题