我正在尝试将mysql函数转换为mysqli预处理语句。
然而,我在使用它时遇到问题,特别是select distinct。
mysql函数和mysqli预处理语句中的select distinct有什么区别吗?
这有效:
$sql = "SELECT DISTINCT category FROM $storeShop";
$result = mysql_query($sql) or die("Query failed : " . mysql_error());
// For each result that we got from the Database
while ($line = mysql_fetch_assoc($result))
{
$cvalue[] = $line;
}
// Assign this array to smarty...
$smarty->assign('category', $cvalue);
// Assign this array to smarty...
$smarty->assign('$category', $cvalue);
这不起作用:
$stmt = mysqli_prepare($db_conx, "SELECT DISTINCT category FROM $storeShop");
$stmt->execute();
$stmt->bind_result($category);
/* fetch values */
while ($line = ($stmt->fetch())) {
$cvalue[] = $line;
}
// Assign this array to smarty...
$smarty->assign('category', $cvalue);
// Assign this array to smarty...
$smarty->assign('$category', $cvalue);
我在准备好的语句代码中遗漏了什么吗?我需要做些什么来使其发挥作用?
提前致谢。
编辑:这也有效,但它没有准备好声明:
$sql = "SELECT DISTINCT category FROM $storeShop";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query); // count the output amount
while($line = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$cvalue[] = $line;
}
答案 0 :(得分:-3)
mysql函数和mysqli预处理语句中的select distinct有什么区别吗?
显然,没有。
API语法与SQL语法完全无关。
你的问题出在其他地方。您需要学习调试应用程序以使自己了解真正的原因,并最终能够发布有关您所遇到的真正问题的问题,而不是盲目地戳戳。您可以从这里开始:https://stackoverflow.com/a/22662582/285587