此代码不起作用。我试图从传统的mysqli查询改为准备好的语句,但实际上并没有发生任何事情。
一些帮助?
<?php
include_once("config.inc.php"); // DataBase connection.
$collection = '100';
$results = $mysqli_conn->prepare("SELECT p.ID, p.Reference, p.Collection, p.Name, i.ImageOne FROM p INNER JOIN i ON p.Reference=i.Reference WHERE p.Collection=?");
if ($results === FALSE) {
trigger_error($mysqli_conn->mysqli->error, E_USER_ERROR);
}
$results->bind_param("s", $collection);
$results->bind_result($ID, $Reference, $Collection, $Name, $ImageOne);
$results->execute();
echo '<div class="scroll-pane">';
while ($results->fetch()) {
$body = '
<div class="product">
<a href="/product.php?id=%s">
<div>
<div>
<p class="txt">%s</p>
</div>
<div style="height:8em;margin:0 auto;">
<img src="%s" style="width:100%;margin:0 auto;">
</div>
</div>
</a>
</div>
';
sprintf($body, $ID, $Name, $ImageOne);
}
echo '</div>';
$results->free_result();
$results->close();
答案 0 :(得分:0)
尝试切换execute和bind_result语句。
$results->execute();
$results->bind_result($ID, $Reference, $Collection, $Name, $ImageOne);
在调用$results->execute();
之前,没有结果可以绑定到变量。