0

我编写了一个 PHP 脚本,每天由 CRON 执行,以清理文件并删除旧的数据库条目。

该脚本运行没有问题,所以我知道它不是 CRON 问题。

问题是我收到以下错误:

警告:PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: 语法错误或访问冲突:1142 SELECT 命令拒绝用户 'username'@'localhost' 用于/cron_removeOld.php中的表 'users' 在线35

我为后端管理员用户使用相同的数据库凭据,所以我知道他们具有 SELECT 权限。我想知道它是否与在网络服务器之外运行的脚本有关?

任何帮助将不胜感激!

克朗:

20 0 * * * php -q /home/user/public_html/tssol/contract/admin/cron_removeOld.php

PHP(第 35 行):

$stmt = $dbh->prepare("SELECT idusers, contract FROM users WHERE contractExpireDate <= NOW()");

数据库凭据位于与其他页面共享的包含文件中,因此我知道这不是问题..如果您认为有帮助,将发布

4

1 回答 1

1

MySQL 权限与 CLI 或其他执行的 PHP无关。
检查您的 mysql 用户是否具有用户表的 SELECT 权限

于 2011-06-13T20:41:27.127 回答