mysql - 我必须从数据库中获取每一行

标签 mysql sql

我必须从我的数据库中提取字段“level”在 mylevel-5 和 mylevel+5 之间的每一行。但是我是 php 和 sql 的新手,我不知道如何编写查询...你能帮我吗?

<?php
session_start();
if(isset($_SESSION['username']))
{
    $nickname = $_SESSION['nick'];
}else{
    header('location:index.php');
}

include('connection.php');

$sql = mysql_query("SELECT * FROM $tbl_name WHERE nickname = '$nickname'"); 
$rissql = mysql_fetch_array($sql);
$mylevel = $rissql['Level'];

$sql2 = mysql_query("SELECT * FROM $tbl_name WHERE Level >= $mylevel-5 && Level <= $mylevel+5 order by rand() limit 1");
$rissql2 = mysql_fetch_array($sql2);
$count=mysql_num_rows($rissql2);

if($count > 0)
{
    header('location:fightok.php');
}
else
{
    header('location:fightno.php');
}

?>

最佳答案

在编写查询之前尝试设置您的限制:

$lower = $myLevel - 5;
$upper = $myLevel + 5;

然后使用这些值重新编写您的查询,并将 && 替换为 AND 用于 MySQL:

SELECT * FROM $tbl_name WHERE Level >= $lower AND Level <= $upper ORDER BY rand() LIMIT 1

或使用 BETWEEN

SELECT * FROM $tbl_name WHERE Level BETWEEN $lower AND $upper ORDER BY rand() LIMIT 1

谢谢,

安德鲁

关于mysql - 我必须从数据库中获取每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27195821/

相关文章:

php - 使用数据库创建电话应用程序所需的程序

mysql - 错误号 : 150 "Foreign key constraint is incorrectly formed - mysql

mysql - 我们可以将 M2M 关系的 PK 用于另一个 M2M 表吗?

php - 命令不同步;你现在不能运行这个命令

sql - Oracle 给予 like %term 的优先级高于 %term%

java - XML 解析为 SQL 代码

php - 获取唯一ID的简单方法

php - 如何在 html 中为数据库表的列使用复选框?

mysql - 是否每个 SQL 都在未到达 COMMIT 点时撤消?

mysql - 如果在表中找不到数据字段,则返回值 0 或 0.00 - MySql