【问题标题】:I have an error when running my php files to get data from my mysql server运行我的 php 文件以从我的 mysql 服务器获取数据时出现错误
【发布时间】:2015-08-25 02:07:37
【问题描述】:

警告:第 13 行 C:\xampp\htdocs\test.php 中除以零

致命错误:在第 16 行的 C:\xampp\htdocs\test.php 中的布尔值上调用成员函数 setFetchMode()

这里是我的sql查询

$sql = 'SELECT BeginTime, ChargedDuration, AreaName, AccountID
        FROM cdr
        WHERE BeginTime LIKE '%2015-07-20%'
        GROUP BY AreaName';

$q = $conn->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);

} catch (PDOException $pe)

【问题讨论】:

  • 您的除以零与您发布的代码不一致。请发布执行有问题的除法的代码。

标签: php mysql pdo


【解决方案1】:

在布尔值上调用成员函数 setFetchMode()

如果里面有单引号,则使用$sql = "query"双引号。

try {
  $sql = "SELECT BeginTime, ChargedDuration, AreaName, AccountID
    FROM cdr
    WHERE BeginTime LIKE '%2015-07-20%'
    GROUP BY AreaName";
  $q = $conn->query($sql);
  $result = $q->setFetchMode(PDO::FETCH_ASSOC);
   while ($row = $q->fetch()) {
     echo $row['ID'] . "\t" . $row['name'] . "\t" . $row['whatever'] . "\n";
   }
}
  ....
}
catch (PDOException $e) {
  print $e->getMessage();
}

【讨论】:

  • 我没有看到您发布的内容与原始问题有什么不同,除了您将$q->set... 的结果分配给一个变量,您似乎仍在进行完全相同的调用。
  • @tontonlayxx:我的回答对你有帮助吗?
  • @moskito-x 是的...我即将开始学习 php-mysql 顺便说一句,非常感谢
【解决方案2】:

单引号问题...请在查询中转义单引号或改为双引号

这里更新了代码

$sql = 'SELECT BeginTime, ChargedDuration, AreaName, AccountID
        FROM cdr
        WHERE BeginTime LIKE $sql = \'%2015-07-20%\'
        GROUP BY AreaName';

$q = $conn->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);

} catch (PDOException $pe)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2019-03-21
    • 2022-01-14
    • 2017-11-07
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多