如何查看参数化查询的结果?



我正在尝试通过PHP参数化查询的结果。我正在尝试这个方法

//creating a prepared statement
$stmt = $mysqli->stmt_init();
$query = "SELECT pcode,price,description FROM products WHERE description like ? ORDER BY PRICE";
$stmt->prepare($query);
$search_criteria = '%'.$search_criteria.'%';                
$stmt->bind_param('s', $search_criteria);
$stmt->execute();   
$i=0;
while($stmt->fetch())
{
if ($i++%2 == 0) $trow = "even"; else $trow = "odd"; 
echo "              <tr class='{$trow}'>";
echo "                  <td>{$row['pcode']}</td><td>{$row['price']}</td><td>{$row['description']}</td>";
echo "              </tr>";

}   
if ($i==0) {
echo "<tr class='even'><td colspan='3'><h3>No Results.</h3></td></tr>";
}

但是我的代码正在进入if语句。我如何查看结果?数据库为MySQL

<?php
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
mysql_select_db($dbname) or die('Did you <a href="setupreset.php">setup/reset the DB</a>? <p><b>SQL Error:</b>' . mysql_error($conn) . '<p><b>SQL Statement:</b>' . $query);
function execute_query($the_query){
global $conn;
$result = mysql_query($the_query) or die('<font size=2><b>SQL Error:</b>' . mysql_error($conn) . '<br/><p><b>SQL Statement:</b>' . $the_query . '<br/>Did you run <i>setupreset.php</i> to setup/reset the DB?</font>');
return $result;
}
?>

您需要将结果绑定到一些变量:

$query = "SELECT pcode,price,description FROM products WHERE description like ? ORDER BY PRICE";
$stmt = $mysqli->prepare($query);
$search_criteria = '%'.$search_criteria.'%';                
$stmt->bind_param('s', $search_criteria);
$stmt->execute();   
$i=0; $pcode; $price; $description;
$stmt->bind_result($pcode, $price, $description);
while($stmt->fetch()) {
if ($i++%2 == 0) 
$trow = "even"; 
else 
$trow = "odd"; 
echo "              <tr class='{$trow}'>";
echo "                  <td>{$pcode}</td><td>{$price}</td><td>{$description}</td>";
echo "              </tr>";
}