猿问

我做错了什么?“ cronjob”

我有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代码是这样的:


<?php

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

$mysqli = ("update users set downloads = 0");

$mysqli->close();

?>

我直接从浏览器触发了文件,但没有将列下载次数重置为零!我做错了什么?


注意:当然,有.htaccess文件来保护对连接文件的直接访问


编辑:如果我运行连接代码,则在连接时没有错误,但是来自cronjob的第二个代码不起作用!


料青山看我应如是
浏览 116回答 1
1回答

墨色风雨

您根本不需要$mysqli->close();。您的连接对象称为$link。第二行应为:$link->query("update users set downloads = 0");您可能还应该检查它是否正确执行,以及是否不执行任何操作。您在第二个文件中的完整代码可能如下所示(假设连接成功):<?phprequire_once('/home/cron/connect.php'); // connect to dbif( $link->query("update users set downloads = 0") ){&nbsp; &nbsp; // succesful} else {&nbsp; &nbsp; // fail}
随时随地看视频慕课网APP
我要回答