Php 将查询转换为准备好的语句-同时循环特定问题
我刚刚开始学习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_
$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);