<p>PHP是一種非常流行的程式語言,它可以很好地處理資料庫的操作。在實際項目中,我們有時需要查詢資料庫中當天11點之前的資料。那麼該如何實現呢? </p>
<p>一、取得當天日期和11點的時間戳記</p>
<p>使用PHP內建函數<code>time()</code>可以取得目前的時間戳記。我們可以透過計算得到當天11點的時間戳記。 </p>
<pre class="brush:php;toolbar:false">$current_time = time(); // 当前时间戳
$eleven_time = strtotime(date('Y-m-d 11:00:00')); // 今天11点的时间戳</pre>
<p>二、連接資料庫</p>
<p>在PHP中,連接資料庫可以使用<code>PDO(PHP Data Objects)</code>或<code>mysqli</code>函數。這裡以PDO為例進行連接。 </p>
<pre class="brush:php;toolbar:false">$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '123456';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch(PDOException $e) {
echo '连接失败:' . $e->getMessage();
exit;
}</pre>
<p>三、查詢當天11點之前的資料</p>
<p>有了以上兩步,我們就可以開始查詢資料庫了。 </p>
<pre class="brush:php;toolbar:false">$sql = "SELECT * FROM `table` WHERE `create_time` < :eleven_time";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':eleven_time', $eleven_time);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);</pre>
<p>我們將11點的時間戳記作為參數傳遞到SQL語句中,使用<code><</code>運算子查詢表中所有建立時間在當天11點之前的資料。 </p><p>四、完整程式碼</p><p>完整程式碼如下:</p><pre class="brush:php;toolbar:false">$current_time = time(); // 当前时间戳
$eleven_time = strtotime(date('Y-m-d 11:00:00')); // 今天11点的时间戳
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '123456';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch(PDOException $e) {
echo '连接失败:' . $e->getMessage();
exit;
}
$sql = "SELECT * FROM `table` WHERE `create_time` < :eleven_time";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':eleven_time', $eleven_time);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($data);<p>五、總結</p>
<p>透過以上程式碼,我們可以非常方便地查詢資料庫中當天11點之前的數據。這裡使用的是PDO連接資料庫,不僅安全可靠,而且寫程式更方便。當然,如果習慣使用mysqli函數也可以嘗試。 </p>
<p>值得注意的是,在實際專案中,我們應該對SQL注入進行防範。 PDO和mysqli都提供了預處理語句等措施來防範SQL注入,我們應該在寫程式碼時要注意。 </p></code></p>
以上是php怎麼查詢表中當天11點之前的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!