2012-03-21 9 views
1

私はObject Oriented PHPを初めて使用しています。現在、私はログインスクリプトを作成していて、結果をエコーし​​て&を取得することに固執しています。これは私のスクリプトです:PHP whileループの外でフェッチの結果をエコーする方法

私は上記のスクリプトで結果を取得していません。私は$num !== 1の前にwhileループで$stmt->fetch()を使ってみました。

しかし、whileループの内部では配列(ちょうど$username)を使用していませんが、フェッチの結果は配列として「格納」されています。 私が欲しいもの:選択クエリの結果をエコーするwhileループ。それは(1つだけの結果、したがって、無whileループ必要があると仮定した場合)昔ながらの方法で可能であるのと同様:

$result = mysqli_query($conn, $query); 
$record = mysqli_fetch_array($result); 
echo $record['username']; 

答えて

2

変数:

echo $stmt->User; 

それとも、後で変数を保存することができます:

$user = $stmt->User; 

ループの終了後、$userが値を保持します。

+0

'$ stmt-> User'には、そのプロパティが存在しなかったという喜びはありませんでした。私はそれを '$ username'と置き換えて動作させました。どうもありがとう :) – Tom

1

あなたは、例えば、それを行うために$stmt->get_result()を使用することができます

$stmt->execute(); 
$result = $stmt->get_result(); 

$record = $result->fetch_assoc(); 
echo $record['username']; 

編集

もう一つの方法は、bind_result後にフェッチを呼び出すことです

$stmt->bind_result($username); 
$stmt->fetch() 

echo $username; 
オブジェクトにaccsesする必要が
+0

は私がすることを試みたが、私はこの方法が存在しないというエラーが出ます。 PHP.netによると、mysqlndでのみ利用可能です。それが何であるかはわかりませんが、明らかに私にはないものがあります。 – Tom

+0

あなたはそうです、私はその依存関係のない別の方法を含める答えを編集しました。 – MrCode

0

昔ながらの方法:PHPのマニュアルから

print_r($record); 

は:print_r

関連する問題