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 visual studio2022中文乱码无法解决
  • ¥15 关于华为5g模块mh5000-31接线问题
  • ¥15 keil L6007U报错
  • ¥15 webapi 发布到iis后无法访问
  • ¥15 初学者如何快速上手学习stm32?
  • ¥15 如何自动更换布娃娃图片上的衣服
  • ¥15 心理学eprime编程
  • ¥15 arduino esp8266开发
  • ¥15 stm32单片机通过485发送命令给驱动器控制电机转动,同样的代码f103可以控制电机转动,换到f407不能动了,但是用串口助手调试407显示发送的命令都是正确的,卡了好久了这是发送规则
  • ¥15 stm32f103c8t6最小系统板+2.8寸TFTLCD板子