2014-10-20 55 views
0

你知道可能是什麼問題嗎?查詢工作正常。我在PHPMyAdmin嘗試了它,並且它返回了我所期望的除taskTime之外的所有內容。它提供了正確的號碼:準備聲明不會返回任何東西

enter image description here

$mysqli = new mysqli($SQLhost, $SQLusername, $SQLpassword, $SQLdatabase); 

$stmt = $mysqli->prepare("SELECT Account.accountEmail, Account.accountUsername,Task.taskName,Task.taskDescription,Task.taskTime FROM Account INNER JOIN Task ON Task.accountId=Account.accountId WHERE taskId=?"); 
$stmt->bind_param('i', $taskId); 

$stmt->execute(); 

$stmt->bind_result($accountEmail,$accountUsername,$taskName,$taskDesc,$taskTime); 

echo("Account Email: " . $accountEmail . " | Account Username: " .$accountUsername . " | Task Name: " . $taskName . " | Task Desc: " . $taskDesc . " | Task Time: " . $time . " | Task Id: " . $taskId); 
+2

1)經常檢查每個API調用的返回值。 2)驗證你的輸入是否正確(例如:'echo $ taskId') – 2014-10-20 15:19:54

+2

完成任何基本的調試,比如檢查返回值?默認情況下,mysqli將在失敗時返回false,例如'if(!$ stmt){die(mysqli_error())}'會告訴你更多的東西,而不是簡單地假設一切都應該完美地工作。 – 2014-10-20 15:20:10

+0

taskId很好我從另一個函數獲取值。 – 2014-10-20 15:23:54

回答

0

工作代碼:

$mysqli = new mysqli($SQLhost, $SQLusername, $SQLpassword, $SQLdatabase) or die("Error " . mysqli_error($mysqli)); 


$stmt = $mysqli->prepare("SELECT Account.accountEmail, Account.accountUsername,Task.taskName,Task.taskDescription,Task.taskTime FROM Account INNER JOIN Task ON Task.accountId=Account.accountId WHERE taskId=?"); 
$stmt->bind_param('i', $taskId); 

$stmt->execute(); 

$stmt->bind_result($accountEmail,$accountUsername,$taskName,$taskDesc,$taskTime); 
$stmt->fetch();