2009-03-15 9 views
1

私はPHP5を習得しようとしており、いくつか問題があります。私は準備された文で働いていますし、次のコードを実行しようとしています:私はそれは、ID、login_nameに、login_passwordとlogin_levelを含む各を返すべき2行を持って

<?php 
require_once 'includes/config.php'; 

$conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or 
die('There was a problem connecting to the database.'); 

$query = "SELECT * FROM user_table"; 

    if($stmt = $conn->prepare($query)) { 
     $stmt->execute(); 

     while ($row = $stmt->fetch()) { 
      print_r ($row); 
     } 

    } 

?> 

文はそれだけで次のように出力実行します:

任意の助けいただければ幸いです。

答えて

6

fetch()のメソッドは、データのフェッチに成功したかどうかによって、TRUEFALSE、またはNULLを返します。配列内のデータは返されません。代わりに、結果はbind_result()メソッドによってバインドされた変数に格納されます。

1

PHPで1がTRUEなので1を返します。

は何をすべきことは[bind_result][1]方法で変数をバインドしてから実行している:

while ($stmt->fetch()) { 
    printf ("%s\n", $variable); 
} 

偉大な例では、この方法は、あなたが最初に必要なことを得ることができるようにするにbind result documentation page.

1

であります次のような結果変数をバインドします。

$stmt->execute(); 

// bind the result variables in order 
$stmt->bind_result($id, $login_name, $login_password, $login_level); 

// then get results 
while ($stmt->fetch()) { 
    var_dump($id, $login_name, $login_password, $login_level); 
} 
関連する問題