2014-10-20 3 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') –

+2

반환 값 확인과 같은 기본 디버깅이 완료 되었습니까? mysqli는 실패시 기본적으로 false를 리턴한다. 'if (! $ stmt) {die (mysqli_error())}'는 모든 것이 완벽하게 작동한다고 가정 할 때보 다 훨씬 더 많이 알려줄 것입니다. –

+0

taskId는 다른 함수에서 값을 얻을 수 있습니다. –

답변

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(); 
관련 문제