簡體   English   中英

我做錯了什么? “的cronjob”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM