Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQLi准备语句获取行,但不显示数据_Php_Mysql_Mysqli - Fatal编程技术网

PHP MySQLi准备语句获取行,但不显示数据

PHP MySQLi准备语句获取行,但不显示数据,php,mysql,mysqli,Php,Mysql,Mysqli,我正在尝试使用另一个数据库值的ID获取一些数据。这是我的密码: $query = "SELECT id,uid,product,jpgID,saledatetime,quantity FROM sales WHERE printed = ? AND DATE_FORMAT(saledatetime, '%Y/%m/%d') = ?"; if ($stmt = $mysqli->prepare($

我正在尝试使用另一个数据库值的ID获取一些数据。这是我的密码:

$query = "SELECT id,uid,product,jpgID,saledatetime,quantity 
                FROM sales 
             WHERE printed = ? 
                AND DATE_FORMAT(saledatetime, '%Y/%m/%d') = ?";
if ($stmt = $mysqli->prepare($query)) {
        $printed = 0;
        $stmt->bind_param("is",$printed,$session_date);
        $stmt->execute();
        $stmt->store_result();

        //Get result
        $stmt->bind_result($result_id,$result_uid,$result_product,$result_jpgID,$result_saledatetime,$result_quantity);

        //Number of rows returned
        $count_rows = $stmt->num_rows;
        if ($stmt_fetch = $mysqli->prepare("SELECT jpg,udate,imageset FROM images WHERE id = ?")) {
            //Fetch image information
            while ($stmt->fetch()) {
                $stmt_fetch->bind_param('i',$result_jpgID);
                $stmt_fetch->execute();
                $stmt_fetch->store_result();
                $stmt_fetch->bind_result($jpg,$udate,$imageset);
                echo $stmt_fetch->num_rows."<br />";

                //Create array's with information
                $print[$result_product][$result_jpgID]["quantity"] = $result_quantity;
                $print[$result_product][$result_jpgID]["location"] = $jpg;
            }
        }
        $stmt->close();
        print_r($print);
    }

设法修复它,这是我的修复代码

if(login_check($mysqli) == true) {
    //logged in
    $session_date = $_SESSION['session_date'];

    $query = "SELECT id,uid,product,jpgID,saledatetime,quantity 
                FROM sales
             WHERE printed = ? 
                AND DATE_FORMAT(saledatetime, '%Y/%m/%d') = ?";
    if ($stmt = $mysqli->prepare($query)) {
        $printed = 0;
        $stmt->bind_param("is",$printed,$session_date);
        $stmt->execute();
        $stmt->store_result();
        $stmt->bind_result($result_id,$result_uid,$result_product,$result_jpgID,$result_saledatetime,$result_quantity);
        $count_rows = $stmt->num_rows;

        while ($stmt->fetch()) {
            //Create array's with information
            $print[$result_product][$result_jpgID]["quantity"] = $result_quantity;
        }
        $stmt->close();

        foreach ($print as $key1 => $value1) {
            foreach ($print[$key1] as $key => $value) {
                if ($stmt = $mysqli->prepare("SELECT jpg,udate,imageset FROM images WHERE id = ?")) {
                $stmt->bind_param('i',$key);
                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_result($jpg,$udate,$imageset);
                }
                while ($stmt->fetch()) {
                    $print[$key1][$key]['location'] = $jpg;
                }
            }
        }
        print_r($print);
    }
} else {
    header("Location: index.php");  
}

您完全确定您的第二个查询,即查找jpg、udate、imageset的查询,在手动运行时是否与提供的ID一起工作?例如,在phpmyadmin或控制台中?另外,对我甚至不知道的原始查询进行连接,然后在单个结果集上循环,而不是组合两个结果集,不是更容易吗way@Tularis,嗯,如果我手动定义ID,它不会运行这是我知道的唯一一种方法,我将如何组合这些查询?还添加了第一个查询。
if(login_check($mysqli) == true) {
    //logged in
    $session_date = $_SESSION['session_date'];

    $query = "SELECT id,uid,product,jpgID,saledatetime,quantity 
                FROM sales
             WHERE printed = ? 
                AND DATE_FORMAT(saledatetime, '%Y/%m/%d') = ?";
    if ($stmt = $mysqli->prepare($query)) {
        $printed = 0;
        $stmt->bind_param("is",$printed,$session_date);
        $stmt->execute();
        $stmt->store_result();
        $stmt->bind_result($result_id,$result_uid,$result_product,$result_jpgID,$result_saledatetime,$result_quantity);
        $count_rows = $stmt->num_rows;

        while ($stmt->fetch()) {
            //Create array's with information
            $print[$result_product][$result_jpgID]["quantity"] = $result_quantity;
        }
        $stmt->close();

        foreach ($print as $key1 => $value1) {
            foreach ($print[$key1] as $key => $value) {
                if ($stmt = $mysqli->prepare("SELECT jpg,udate,imageset FROM images WHERE id = ?")) {
                $stmt->bind_param('i',$key);
                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_result($jpg,$udate,$imageset);
                }
                while ($stmt->fetch()) {
                    $print[$key1][$key]['location'] = $jpg;
                }
            }
        }
        print_r($print);
    }
} else {
    header("Location: index.php");  
}