2014-03-27 2 views
0

테이블의 모든 사용자 계정을 나열하는 웹 페이지를 만들고 있습니다. w3schools에서 메서드를 시도 할 때 작동하지 않습니다. PHP 준비 문을 사용하면 어떻게 할 수 있습니까? 지금까지이 코드를 가지고 있지만 데이터베이스의 사용자 수만큼의 첫 번째 MySQLi 결과 만 표시합니다.MySQLi Prepared Statements - 테이블 표시

+0

* "PHP 준비 문으로이 작업을 수행 할 수 있습니까?"* --- 여기 [** prepared statements **] (http://www.phpmysqlitutorials.com/2011)의 튜토리얼이 있습니다./04/16/mysqli-what-the-difference-between-standard-queries-and-prepared-statements /) <= –

답변

0

성명을 준비하고 $ totaluser times를 실행했습니다. 한 번만 준비하고 실행하면됩니다.

if($stmt = $con -> prepare("SELECT id, username, confirmed FROM users")) { 
     $stmt -> execute(); 
     $stmt -> bind_result($id, $username, $confirmed); 
     while($stmt->fetch()) { 
      echo "<tr><td>" . $id . "</td><td>" . $username . "</td><td>" . $confirmed . "</td></tr>"; 
     } 
     $stmt -> close(); 
} 

내가 코드를 테스트하지 않는, 그래서 일부 조정이 필요할 수 있습니다 : 이보십시오. 처음으로 PHP를 사용하는 경우 php.net은 PHP 학습에 가장 적합합니다.

+0

대부분은 좋은 것처럼 보입니다. bind_result는 execute()를 수행해야합니다. bind_result를 이미 사용하고 있다면 ($ result-> fetch_assoc()) {}가 작동합니까? bind_result를하지 않았다면 $ myrow [username]을 사용하여 $ username을 대체 할 수 있습니까? – Starfire1337

+0

수 있습니다. 필자는 fetch_assoc을 사용하고 while 루프에서 bind_result보다 $ myrow [ 'id'], $ myrow [ 'username'] 및 $ myrow [ 'confirmed']를 사용하는 것을 선호합니다. – kruger