【发布时间】:2020-02-19 05:02:06
【问题描述】:
我正在尝试将 mysqli 转换为 PDO:
$product_id = $_GET['p'];
$product_query = "SELECT * FROM products,categories WHERE product_cat=cat_id AND product_id BETWEEN $product_id AND $product_id+3";
$run_query = mysqli_query($con,$product_query);
if(mysqli_num_rows($run_query) > 0){
while($row = mysqli_fetch_array($run_query)){
$pro_id = $row['product_id'];
$pro_cat = $row['product_cat'];
$pro_brand = $row['product_brand'];
$pro_title = $row['product_title'];
$pro_price = $row['product_price'];
$pro_image = $row['product_image'];
$cat_name = $row["cat_title"];
我的尝试没有奏效,我的问题是我不确定 mysqli_num_rows 与 PDO 的等效项是什么: 输出应该得到一个类似类别列表之间的产品,以显示为电子商务网站的相关产品
$query = $connect->prepare("SELECT * FROM product WHERE prd_cat = cat_id AND prd_id BETWEEN :product_id AND :product_id+3");
$query->execute(['product_id' => $_GET['p']]);
while ($row = $query->fetchAll()){
$pro_id = $row['prd_id'];
$pro_cat = $row['prd_cat'];
$pro_brand = $row['prd_brand'];
$pro_title = $row['prd_name'];
$pro_price = $row['prd_price'];
$pro_image = $row['prd_image'];
$cat_name = $row["cat_title"];
echo "
如果有人可以提供帮助,我仍然在尝试学习 php 和 mysql,但我读过 PDO 对数据库的功能比 mysqli 更好。
【问题讨论】:
-
PDO 更好,IMO。在
select上,mysql的PDO没有行数。您可以在 PHP 中进行计数或运行两个查询,一个使用count(*)。此外,如果多次使用同一个占位符,则需要进行仿真。