为了账号安全,请及时绑定邮箱和手机立即绑定

我做错了什么?“ cronjob”

我做错了什么?“ cronjob”

PHP
料青山看我应如是 2021-04-09 15:15:01
我有MySQL数据库,它包含一个带有名为“ downloads”的列的表我想每24小时将此列更新为0,但看来我的代码不起作用!我在名为cron的服务器上有文件夹。在其中有两个文件,一个用于连接数据库,另一个包含用于将列下载重置为0的php代码。这是我的连接代码:   <?php$link = mysqli_connect("localhost", "test", "root", "test1");if (!$link) {    echo "Error: Unable to connect to MySQL." . PHP_EOL;    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;    exit;}echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;?>我想在cronjob中使用它的php代码是这样的:<?phprequire_once('/home/cron/connect.php'); // connect to db$mysqli = ("update users set downloads = 0");$mysqli->close();?>我直接从浏览器触发了文件,但没有将列下载次数重置为零!我做错了什么?注意:当然,有.htaccess文件来保护对连接文件的直接访问编辑:如果我运行连接代码,则在连接时没有错误,但是来自cronjob的第二个代码不起作用!
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

您根本不需要$mysqli->close();。您的连接对象称为$link。第二行应为:


$link->query("update users set downloads = 0");

您可能还应该检查它是否正确执行,以及是否不执行任何操作。

您在第二个文件中的完整代码可能如下所示(假设连接成功):


<?php

require_once('/home/cron/connect.php'); // connect to db

if( $link->query("update users set downloads = 0") ){

    // succesful

} else {

    // fail

}


查看完整回答
反对 回复 2021-04-23
  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信