[英]What I'm doing wrong? “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的第二個代碼不起作用!
您不需要$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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.