我有MySQL数据库,它包含一个带有名为“下载”列的表
我想每24小时将此列更新为0,但看来我的代码不起作用!
我在名为cron的服务器上有文件夹。 其中有两个文件,一个文件连接数据库,另一个文件包含php代码,以将列下载次数重置为0
这是我的连接代码:
<?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的第二个代码不起作用!
答案 0 :(得分:3)
您根本不需要$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
}