2014-10-20 51 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();