Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 将查询转换为准备好的语句-同时循环特定问题_Php_Mysql_Sql - Fatal编程技术网

Php 将查询转换为准备好的语句-同时循环特定问题

Php 将查询转换为准备好的语句-同时循环特定问题,php,mysql,sql,Php,Mysql,Sql,我刚刚开始学习php,并在 我现在想把我的问题转换成准备好的陈述,并且已经尝试了所有的事情,但没有成功 我想转换的部分如下- $q = 'SELECT yeast, rating, description, weblink , image, sideimage FROM dowdb_yeast_selector WHERE fruit = "' . $_POST['fruit'] . '" ORDER BY rating DESC'; $r = @mysqli_

我刚刚开始学习php,并在

我现在想把我的问题转换成准备好的陈述,并且已经尝试了所有的事情,但没有成功

我想转换的部分如下-

$q = 'SELECT yeast, rating, description, weblink
, image, sideimage 
FROM dowdb_yeast_selector 
WHERE fruit = "' . $_POST['fruit'] . '" 
ORDER BY rating DESC';  
            $r = @mysqli_query ($dbc, $q); // Run the query.

            // Present the results
            echo '<table width="100 px" cellspacing="15" cellpadding="15">';// Table header:
            echo '<tr bgcolor="green"><td colspan="5"><div class="yeast_heading" align="center"><em><b>The following yeasts are suitable for fermenting ' . $_POST['fruit'] . '</b></em></div></td></tr>';
            echo '<tr bgcolor="green"><td align="left">Yeast</td><td align="left">Rating</td><td align="left">Description</td> <td></td><td></td></tr>';
            // Fetch and print all the records....
            $bg = '#676767'; 
                    while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) 
                    {
                        $sideimage = $row['sideimage'];
                        if ($row['rating'] == 3)
                        {$rating = "Best";}
                        if ($row['rating'] == 2)
                        {$rating = "Better";}
                        if ($row['rating'] == 1)
                        {$rating = "Good";}
                    $bg = ($bg=='#222222' ? '#676767' : '#222222');
                    echo '<tr bgcolor="' . $bg . '"><td align="left">' . $row['yeast'] . '</td><td><div align="center">' . $rating . '</div></td><td align="left">' . $row['description'] . '</td> <td><a href="' . $row['weblink'] . '" title="Go find">Buy</a></td><td><img src="' . $row['image'] . '" width="100" height="100" alt="Vintners Harvest Yeast" longdesc="' . $row['image'] . '" /></tr>';
如果有人能帮我翻译,我将非常感激。6个小时的工作让人厌烦

如果您需要任何其他信息,请告诉我

保罗


我认为您知道如何操作$row

您没有在while循环中运行任何查询。你想要转换的只是$q和$r,除非我遗漏了什么。工作很完美。非常感谢。我现在需要做的就是更新我的2008 PHP MYSql手册,我将能够弄清楚到底发生了什么:-这里有一个更新的手册:;我需要更多的教程,其中有大量的例子,我可以遵循和剖析。@PaulDowrick我建议你认为我的答案是正确的。PHP PDO手册包含了您需要了解的关于准备好的语句的所有信息。你在寻找什么:将DBMS与PHP结合使用?我认为当我变得更好时,这本手册会非常好,但现在我真的需要手牵手,一步一步地讲解为什么要做这些事情。见鬼,我还是对MySQLi不太满意
<?php
$db = new PDO('mysql:host=HOST;dbname=DATABASE', $user, $pass);

$stmt = $db->prepare('
    SELECT
        yeast,
        rating,
        description,
        weblink,
        image,
        sideimage 
    FROM dowdb_yeast_selector 
    WHERE
        fruit = :fruit
    ORDER BY
        rating DESC
');

$stmt->bindParam(':fruit',$_POST['fruit'],PDO::PARAM_STR,50);

$stmt->execute();

while ($row = $stmt->fetch())
    print_r($row);