簡體   English   中英

PHP多個准備好的語句

[英]PHP Multiple Prepared Statements

我想執行兩個語句並在while循環中打印結果。 每個語句將從兩個不同的表中選擇數據。

我不確定解決此問題的最佳方法。

到目前為止,我的代碼如下:

$conn = new mysqli('localhost', 'user', 'password', 'db');

if ($conn->connect_errno > 0) {
    die('Unable to connect to database [' . $conn->connect_error . ']');
} 

$curDate = date("Y-m-d");

//first stmt
$stmt = $conn->prepare("SELECT start, status FROM log WHERE start >= ?");
$stmt->bind_param('s', $curDate);
$stmt->execute();
$stmt->bind_result($start, $status);
$stmt->close();

//second stmt
$stmt = $conn->prepare("SELECT time FROM params");
$stmt->bind_result($time);
$stmt->execute();
$stmt->close();


/* fetch values and echo for testing */
while ($stmt->fetch()) {
    echo $start;
    echo $status;
    echo $time;
}

任何幫助表示贊賞。

通常,運行兩個或十二個准備好的語句沒有什么特別的-您只需一個一個地運行它們。 因此根本沒有“最佳方法”。

在您的特定情況下,最好的方法是擺脫准備好的語句:

$time = $conn->query("SELECT time FROM params")->fetch_object()->time;

$res = $conn->query("SELECT start, status FROM log WHERE start >= CURDATE()");
while($row = $res->fetch_object())
{
    echo $row->start;
    echo $row->status;
    echo $time;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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