2016-10-11 5 views
3

Ich habe eine Tabelle lynked_v1 und eine Spalte in MySQL genannt genannt probability_single_freeMySQL PHP undefiniert Offset Fehler

+----------------------------------+ 
    | 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    | 
    +----------------------------------+ 

Ich versuche, jede Zeile mit dem folgenden Befehl echo:

<?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] wird auf dem Bildschirm gedruckt. Aber ich bekomme die folgenden Fehler für den Rest der Zeilen:

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 

Wie drucke ich jede Zeile separat?

+0

"mysqli_query" kann false zurückgeben, wenn die Abfrage fehlgeschlagen ist. auch $ row enthält die Daten der Felder für eine Zeile. Sie haben nur 1 Feld und 7 Zeilen als solche gibt es keine $ row [1]; ',' $ row [2]; 'usw. Wenn Sie verschiedene Werte für 'probability_single_free' hätten, würden Sie '$ row [0 ] wird 8 Mal mit unterschiedlichen Werten ausgegeben. Eigentlich sollten Sie sehen $ Zeile [0] 'und Ihre 7 Warnungen wiederholt 8 Mal –

+0

in Bezug auf Ihre Bearbeitung Sie tun es bereits. entfernen Sie einfach den Code für '$ row [1]' in '$ row [7]' –

+1

U müssen nur 'echo $ row [" probability_single_free "];' – devpro

Antwort

0

Mit diesem Code:

<?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"]; 

} 

?> 

Es wird wie ein Zauber funktionieren)

0

Sie haben verstanden, wie while($row = mysqli_fetch_array($response)) funktioniert. Im Grunde werden alle Ihre Datenbankergebnisse Zeile für Zeile durchlaufen und die Variablen jedes Mal in ein Array namens $row gestellt.

Jede Spalte in der Ergebniszeile ist ein Wert im codierten Array. Wenn Sie nur eine Spalte auswählen (wie in Ihrem Beispiel), wird nur $row[0] in jeder Schleife verwendet.

Während die Zeilen der Datenbank durchlaufen werden, müssen Sie innerhalb der Schleife nur echo $row[0] drucken, um alle Werte zu drucken.

while($row = mysqli_fetch_array($response)) { 
    echo $row[0]; 
}