dqr3883 2019-01-19 14:54
浏览 312
已采纳

在另一个MySQL查询中使用一个MySQL查询的结果作为变量

I'm trying to show the result HTML table based on team name

I'm able to echo right team name but unable to use it into a variable in my 2nd query I'm not able to find out what I'm doing wrong here why the query result is not visible. do I need to change something in my code?

<?php
include_once("connection.php");

$sql = "SELECT TeamName FROM `superuser` WHERE id = '303016'";
$queryRecords2 = mysqli_query($conn, $sql) or die("error to fetch employees data");

while ($row2 = $queryRecords2->fetch_assoc()) {
    echo $row2['TeamName']."<br>";
}

if(isset($_POST['search']))
{
    $valueToSearch = $row2['TeamName'];
    $valueToSearch2 = $_POST['valueToSearch2'];
    $valueToSearch3 = $_POST['valueToSearch3'];
    $sql = "SELECT * FROM `dailydata` WHERE TeamName = '".$valueToSearch."' and Date BETWEEN '".$valueToSearch2."' AND '".$valueToSearch3."'";
    $queryRecords = mysqli_query($conn, $sql) or die("error to fetch employees data");
}
else {
    $sql = "SELECT * FROM `dailydata` WHERE TeamName = ''";
    $queryRecords = mysqli_query($conn, $sql) or die("error to fetch employees data");
}

?>          
  • 写回答

1条回答 默认 最新

  • dpymrcl269187540 2019-01-19 15:21
    关注

    For security purposes you should use prepared statements or even better you should use PDO instead of mysqli.

    to fix this issue simply assign the value of $valueToSearch variable inside the loop.

    <?php
    include_once("connection.php");
    
    $sql = "SELECT TeamName FROM `superuser` WHERE id = '303016'";
    $queryRecords2 = mysqli_query($conn, $sql) or die("error to fetch employees data");
    
    $valueToSearch;
    while ($row2 = $queryRecords2->fetch_assoc()) {
        $valueToSearch = $row2['TeamName'];
    }
    
    if(isset($_POST['search']))
    {
        $valueToSearch2 = $_POST['valueToSearch2'];
        $valueToSearch3 = $_POST['valueToSearch3'];
        $sql = "SELECT * FROM `dailydata` WHERE TeamName = '".$valueToSearch."' and Date BETWEEN '".$valueToSearch2."' AND '".$valueToSearch3."'";
        $queryRecords = mysqli_query($conn, $sql) or die("error to fetch employees data");
    }
    else {
        $sql = "SELECT * FROM `dailydata` WHERE TeamName = ''";
        $queryRecords = mysqli_query($conn, $sql) or die("error to fetch employees data");
    }
    
    ?>    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程