【问题标题】:php mysql affected_rows showing 2php mysql 受影响的行显示 2
【发布时间】:2016-12-31 11:42:43
【问题描述】:

我遇到了一些麻烦。这一直有效,直到我添加了第二个数据库类来运行一些测试方法。删除此内容后,我现在收到此错误并且无法理解原因。

警告:extract() 期望参数 1 是数组,在第 49 行的 /home/bitandpi/public_html/temp/build/build.php 中给出了 null

这是我的代码:

$urltag = urldecode($contentPageVar);
$sql    = "SELECT * FROM shopproducts 
           WHERE urltag = '$urltag' AND urltag != ''
           AND pd_active > 0 AND pd_visible > 0";

$result             = $database->fetch_array($sql);

echo $database->affected_row()."<BR>";
print_r($result);
exit;

if($database->affected_row() > 0) {
    // run code
}

我打印了 $sql var 并将其直接运行到 phpmyadmin 查询中,它返回 0 个结果。

但是,如果我运行上面的代码,它会在我的屏幕上打印以下内容:

2
Array ( )

为什么它告诉我它不影响行?

谢谢

【问题讨论】:

  • 第 49 行在哪里?
  • 你使用过where UPDATE/DELETE/INSERT 语句吗?
  • affected_row() 仅适用于 INSERT/UPDATE/DELETE。
  • 第 49 行是 // 运行代码行。它有 extract($result[0]);我输入了 $database = new Database;在 build.php 的顶部,它起作用了。一定有另一个实例在某个地方开始,这让我感到困惑。是时候搜索了。感谢您的帮助!
  • 要找到获取记录的数量,请在 select 语句中使用 count(*)。

标签: php mysql rows-affected


【解决方案1】:

您已使用 num_rows

$urltag = urldecode($contentPageVar);
$sql    = "SELECT * FROM shopproducts WHERE urltag = '$urltag' AND urltag != '' AND pd_active > 0 AND pd_visible > 0";

$result = $database->query($sql);

echo $row_cnt = $result->num_rows;
echo "<br/>";

if($row_cnt>0){
     // run code
   $result1             = $database->fetch_array($sql);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2016-10-30
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    相关资源
    最近更新 更多