php - 在 SQL 中找不到多个值

标签 php mysql sql mysqli multiple-results

我有一个充满玩家的数据库,我正在尝试创建一个页面来将他们注册到特定的锦标赛中。锦标赛主管将按用户名(仅“firstname.lastname”)搜索玩家。

我遇到的问题是,当我运行循环来回显每个 $players[$x] 时,它只给出第一个匹配的数据库记录的 ID,并为每个匹配重复一次该数字。它不会返回 ID 7、11、26,而是返回 7、7、7。有人可以解释原因吗?

我在 .php 文件中编写了以下代码:

session_start();
if (isset($_POST['newsearch']) === true && empty($_POST['newsearch'] === false)){
require 'dbconnect.php';
$term = $_POST['newsearch'];
$terms = "%" . $term . "%";

$query = ("SELECT PlayerID FROM players WHERE Username LIKE '$terms'");
$run_query = mysqli_query($dbcon, $query);
$search = mysqli_fetch_assoc($run_query);
$players = array ();

    do{
    //Get data from players table
    $PlayerID = $search['PlayerID'];
array_push ($players, $PlayerID);        
    }
        while ($dbsearch = mysqli_fetch_assoc($run_query));}

最佳答案

对于同一查询,您有多个 fetch,将 $run_query = mysqli_query($dbcon, $query); 之后的代码替换为以下代码:

 $players = array ();
 while ($dbsearch = mysqli_fetch_assoc($run_query))
     {
         array_push($players, $dbsearch['PlayerID']);;
     }

关于php - 在 SQL 中找不到多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32198313/

相关文章:

javascript - AngularJS $资源参数名称

php - 当新行输入时删除最旧的行

javascript - FormData 对象始终为空

php - 为什么我使用 .htaccess 文件时会收到 500 错误

MYSQL - 返回 GROUP BY 之前的最新记录

php - mac 上的 XAMPP 安装问题//bitnami-first-boot-123456

php - 使用 zend_mail 对电子邮件进行排序的最有效方法是什么?

php - 如何从给定的日期范围内找到确切的季节和日期?

mysql - 通过一个 mysql-query 获取值

mysql - MySQL数据库数据迁移到SQL Server