簡體   English   中英

PHP MySQL 准備好的語句沒有返回結果

[英]PHP MySQL Prepared Statement returning no result

我的准備好的語句有問題,該語句通過 PHP 發送到我的數據庫。 有人能告訴我為什么下面的語句沒有返回結果嗎? 我將只描述我想要它做什么,它做什么和代碼。

我有數據通過一個表單發送,該表單已准備好插入到我的一個表中,但我需要從另一個表中獲取要插入的值。

我習慣於使用以下 SELECT 語句根據輸入的數據獲取 tripNo。 此查詢適用於 MySQL Workbench 並返回正確的結果,但不適用於我的 php 表單。 當我回顯 $tripNo 時,結果為空。

代碼:

$destination=$_POST['destination'];
$dateOfSail=$_POST['dateOfSail'];

$db = createConnection();

$sql="select tripNo from TripDB where dateOfSail=? AND destination=?;";
$stmt=$db->prepare($sql);
$stmt->bind_param("ss",$dateOfSail,$destination);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($tripNo);
echo "tripNo: $tripNo"; //returns null value

沒有報告任何錯誤,因此在查看准備好的語句示例時,我不確定接下來要調查的地方。

另外,我有一個附帶問題。 獲取值以插入表的方法是不好的做法嗎?

在 bind_result 之后,您必須執行 fetch:

while ($stmt->fetch()) {
    echo "tripNo:  $tripNo<br />";
}

暫無
暫無

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

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