我有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
}
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消