2016-05-28 3 views
0

データベースに値がある場合でも、SQLクエリはブラウザでArrayを返します。私はphpmyadminでクエリを試して、それは動作しますが、私のPHPドキュメントではありません。SQLクエリで値が取得されない

require_once('connect.php'); 

$query = "SELECT `id` FROM `questions` WHERE round='1' AND year='2016'"; 
$sql = mysqli_query($dbconnect, $query); 

$row = mysqli_fetch_array($sql, MYSQLI_ASSOC); 

ほとんど同じクエリが異なるPHPドキュメントで機能します。何が間違っている?クエリは整数を返すべきだとも言わなければなりません。

+0

あなたが行っていることを私たちに示してもらえますか? $ row変数で –

+0

はい、この時点でecho $ row; – mattesj

+1

あなたは成功した結果をループし、クエリ上のエラーをチェックし、もちろんmysqli_接続を仮定する必要があります。 –

答えて

2
$query = "SELECT `id` FROM `questions` WHERE round='1' AND year='2016'"; 

idの列のみを選択しています。より多くの列をエコーし​​たい場合は、それらをクエリに追加する必要があります。

すなわち:その後、

$query = "SELECT `id`, `col2`, `col3` FROM `questions` WHERE round=1 AND year=2016"; 

結果をループ:

while ($row = mysqli_fetch_array($sql, MYSQLI_ASSOC)) { 
    echo $row['id']; 
    // echo "<br>"; 
    // echo $row['col2'] . "<br>"; 
    // echo $row['col3']; 
} 

クエリのエラーをチェックもして成功したmysqli_接続を想定しました。 http://php.net/manual/en/mysqli.error.php

+0

私はあなたが小さな美化を気にしないことを願っています:P –

+0

@HankyPanky OPの列がVARCHAR(わからない)の場合、それらは失敗する可能性があります。 TBH、それが失敗するかどうかはわかりません。最も重要なのは 'year = 2016'ですが、' id'ではありません。 –

+0

クエリに指定された値が数値である限り、正常に動作します。 –

0

あなたが他の列のデータを表示したい場合はそう'id'

の代わりに *を追加する必要があります
require_once('connect.php'); 

$query = "SELECT * FROM `questions` WHERE round='1' AND year='2016'"; 
$sql = mysqli_query($dbconnect, $query); 
+0

* "他の列のデータを表示したいので、追加する必要がある場合は\ *" * - 必ずしも推奨されているわけではなく、テーブルに多数の列が含まれていて、問題のすべてではなく、実際の列を選択することが常にベストです。これは何かの提案であり、質問の解決策ではありません。 –

関連する問題