2016-10-11 6 views
3

をオフセットprobability_single_freeのMySQL PHP未定義のは、私が呼ばれると呼ばれるテーブル<strong>lynked_v1</strong>とMySQLの列を持っているエラー

+----------------------------------+ 
    | id | probability_single_free | 
    | ---------------------------------| 
    | 0 |   100.00    | 
    | 1 |   100.00    | 
    | 2 |   100.00    | 
    | 3 |   100.00    | 
    | 4 |   100.00    | 
    | 5 |   100.00    | 
    | 6 |   100.00    | 
    | 7 |   100.00    | 
    +----------------------------------+ 

私は、次のコマンドを使用して、それぞれの行をエコーし​​ようとしています:

<?php 
error_reporting(-1); 
ini_set('display_errors', true); 

require_once ('/var/www/html/MySQL/mysqli_connect.php'); 

echo "Connected successfully"; 

$query = "SELECT probability_single_free FROM lynked_v1"; 

$response = @mysqli_query($dbc, $query); 

while($row = mysqli_fetch_array($response)) { 

    echo $row[0]; 
    echo $row[1]; 
    echo $row[2]; 
    echo $row[3]; 
    echo $row[4]; 
    echo $row[5]; 
    echo $row[6]; 
    echo $row[7]; 

} 

?> 

$ row [0]は画面に大丈夫です。しかし、残りの行について次のエラーが発生します。

Notice: Undefined offset: 1 in /var/www/html/index.php on line 56 
Notice: Undefined offset: 2 in /var/www/html/index.php on line 57 
Notice: Undefined offset: 3 in /var/www/html/index.php on line 58 
Notice: Undefined offset: 4 in /var/www/html/index.php on line 59 
Notice: Undefined offset: 5 in /var/www/html/index.php on line 60 
Notice: Undefined offset: 6 in /var/www/html/index.php on line 61 
Notice: Undefined offset: 7 in /var/www/html/index.php on line 62 

各行を個別に印刷するにはどうすればよいですか?

+0

mysqli_queryは、クエリが失敗した場合にfalseを返すことができます。 '$ row'には行のフィールドのデータも含まれています。 '$ row [1];'、 '$ row [2];'などのように1つだけのフィールドと7つの行があり、 'probability_single_free'の値が異なっていれば' $ row [0] ] 'が8回出力される。実際にあなたは '$ row [0]'を見ていて、あなたの7回の警告はすでにあなたが行っている編集に関して8回、 –

+0

を繰り返すべきです。 '$ row [1]'のコードを '$ row [7]'に置き換えてください –

+1

Uは 'echo $ row [" probability_single_free "]; – devpro

答えて

0

このコードを使用:

<?php 
error_reporting(-1); 
ini_set('display_errors', true); 

require_once ('/var/www/html/MySQL/mysqli_connect.php'); 

echo "Connected successfully"; 

$query = "SELECT probability_single_free FROM lynked_v1"; 

$response = @mysqli_query($dbc, $query); 

while($row = mysqli_fetch_array($response)) { 

    echo $row["probability_single_free"]; 

} 

?> 

それは魅力のように動作します)

0

あなたはどのようにwhile($row = mysqli_fetch_array($response))作品を誤解しました。基本的に、これはすべてのデータベース結果を行単位でループし、毎回変数を$rowという配列に入れます。

結果行の各列は、キー付き配列の値になります。選択している列が1つだけの場合(例のように)、各ループでは$row[0]だけが使用されます。

データベースの行がループスルーされるため、すべての値を印刷するには、ループ内にecho $row[0]が必要です。

while($row = mysqli_fetch_array($response)) { 
    echo $row[0]; 
} 
関連する問題