如何将文本和查询结果组合为php变量的值

b09cbbtk  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(317)

我有一个变量($html),它有一些赋值给它(稍后我需要用mpdf将它保存为pdf)。它的一部分值是通过查询数据库生成的。现在代码看起来像。。。

$html = '
<html>
    <head>...</head>

    <body>
        <table>
        <thead>
        <tr>
           <td>ITEM NAME</td>
           <td>QTY</td>
           <td>PRICE</td>
           <td>TOTAL</td>
        </tr>
        </thead>

        <tbody>'.

        $items_query = "SELECT * FROM cart WHERE u_id='$u_id'"
        or die('Error Querying Database...');

        $run_items_query = mysqli_query($con, $items_query);

        while($row_query = mysqli_fetch_array($run_items_query)){

            $item = $row_query['p_name'];
            $unit_price = $row_query['price'];
            $qty = $row_query['qty'];
            $price = $unit_price*$qty;

            echo'
                <tr>
                    <td>'.$item.'</td>
                    <td>'.$qty.'</td>
                    <td>'.$unit_price.'</td>
                    <td>'.$price.'</td>
                </tr>
            ';
        }

        '<tr>
           <td>TOTAL:</td>
           <td>0000</td>
        </tr>
        </tbody>
        </table>
    </body>
</html>';

我在这里做的是创建简单的表并添加所有 <td> 通过sql查询。我不知道如何将简单文本部分和查询结果部分作为值连接到$html变量。现在它只显示查询开始前值的第一部分,然后显示这个-'select*from cart where u\u id='ee0fivtt9tq39i5mpdhtf9v051'。。。不是那个 <td> 它得到了。请让我知道如果你能找出我做错了什么。。。

xcitsw88

xcitsw881#

使用 $html 参数来连接另一个字符串 . 检查答案,您使用的查询是自愿的sql注入,而不是我更新了查询参数化,这将确保您从sql注入。

$html = '
<html>
<head>...</head>

<body>
    <table>
    <thead>
    <tr>
       <td>ITEM NAME</td>
       <td>QTY</td>
       <td>PRICE</td>
       <td>TOTAL</td>
    </tr>
    </thead>

    <tbody>';

    $items_query = "SELECT * FROM cart WHERE u_id=?";
    //or die('Error Querying Database...'); this don't needs to be here

    $query = $con->prepare($item_query);
    $query->bind_param('s', $u_id);
    //$run_items_query = mysqli_query($con, $items_query);
    $result = $query->execute();
    while($row_query = $result->fetch_assoc()){

        $item = $row_query['p_name'];
        $unit_price = $row_query['price'];
        $qty = $row_query['qty'];
        $price = $unit_price*$qty;

        $html .='
            <tr>
                <td>'.$item.'</td>
                <td>'.$qty.'</td>
                <td>'.$unit_price.'</td>
                <td>'.$price.'</td>
            </tr>
        ';
    }

    $html .= '<tr>
       <td>TOTAL:</td>
       <td>0000</td>
    </tr>
    </tbody>
    </table>
    </body>
</html>';

echo $html;

享受:-)

相关问题