while ($row=mysql_fetch_array($Ergebnis)) funktioniert nicht
Ich bin mit dem folgenden code, um einige Daten.
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
$data[] = array(
$row['Qty'],
$row['Description']
);
}
Das gibt ein leeres array.
Wenn ich versuche die $sql
manuell immer die richtigen Ergebnisse.
Ist nichts falsch mit dem code oben..?
SELECT CO.order_id AS TaxNo,
DATE_FORMAT(CO.created,'%d-%m-%Y') AS InvoiceDate,
C.company_name AS Consumer, CONCAT(C.delivery_address1, ', ',
C.delivery_address2) AS DelAdd,
COD.qty AS Qty,
P.product_name AS Description,
PP.amount AS Price,
(COD.qty * PP.amount) AS Total,
SUM(COD.qty * PP.amount) AS InvoiceTotal,
CPH.discount_on_payment AS Discount,
CPH.amount_paid AS AmountPaid,
(SUM(COD.qty * PP.amount) - CPH.discount_on_payment - CPH.amount_paid) AS Balance,
COUNT(COD.qty) AS TotLine
FROM consumer_orders AS CO
INNER JOIN consumer AS C ON CO.consumer_id = C.consumer_id
INNER JOIN consumer_order_details AS COD ON CO.order_id = COD.order_id
INNER JOIN product AS P ON COD.Product_id = P.product_id
LEFT JOIN product_price AS PP ON P.product_id = PP.product_id
LEFT JOIN tbl_customer_payment_history AS CPH
ON CO.order_id = CPH.order_id WHERE CO.order_id = '60'
GROUP BY CO.order_id, CO.created, C.company_name, CONCAT(C.delivery_address1, ', ', C.delivery_address2), COD.qty, P.product_name, PP.amount
- Wenn Sie die Abfrage ausführen manuell (in phpMyAdmin oder so) es gibt Zeilen? Die Daten definiert, die außerhalb der Schleife?
var_dump($row)
innerhalb der Schleife zeigt, was? - Es wäre hilfreich, wenn wir sehen könnten, eine Beispiel-Tabelle Struktur, sowie die Abfrage, die Sie ausgeführt werden. Auch werde ich den zweiten sachleens Vorschlag, var_dump auf das $row-array. Das wird Ihnen erlauben, zu überprüfen, dass Sie immer alle Daten, um mit zu beginnen.
- Ja, wenn ich ' N Versuch die Abfrage manuell, seine Angabe der vier Datenzeilen. $Daten definiert ist, die außerhalb der Schleife. allerdings var_dumo($Zeile) leer ist.
- ja, Verbindung ist in Ordnung und immer das $Ergebnis
- wenn die Ausführung betritt die while-Schleife, ich weiß nicht, warum die Zeile sollte leer sein, es sei denn, Sie wurden durch das unterdrücken der Fehler
- Ändern Sie die Abfrage so einfach wie "SELECT * FROM Consumer" und sagen Sie mir, ob Sie einige Zeilen oder nicht..... dann fügen Sie die Struktur einer Tabelle hier
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies: definieren
$data
außerhalb der SchleifeHabe ich versucht deinen code in meinen lokalen mit der Nutzung meiner DB seine Arbeitsmethoden in Ordnung
Dein code sollte funktionieren, finden (angenommen, deine Abfrage richtig ist).
wie in php sind case-Sensitiv.
Habe ich verwendet folgenden code und erhalten die gewünschten Ergebnisse......
Versuchen Sie Es
Versuchen Sie auch zu verwenden, mysqli oder pdo anstatt mysql.
Stellen Sie sicher, dass die Spalte name in $row['Qty'] Also Spalte Qty Menge nicht als php ist case-Sensitiv.....
Oder etwas falsch mit der ur-Abfrage....
Oder die Datenbank ist möglicherweise leer, und es werden keine Zeilen abgerufen
Anschauen:
http://php.net/manual/en/function.mysql-fetch-array.php
Versuchen Sie dies:
-Parameter hinzufügen
MYSQL_BOTH
immysql_fetch_array()
- Funktion (Sie können auch verwendenMYSQL_NUM
oderMYSQL_ASSOC
, überprüfen Sie die link)-schreiben Sie Ihre Schlüssel, die gleichen genaue Art und Weise mit Ihrem Feldnamen in der Tabelle (groß-und Kleinschreibung)
Sorry an sein Grab zu Graben, aber dies geschah mir vor und ich fand es zu, dass ich das schließen der Verbindung weiter oben auf der Seite (von einer anderen Abfrage) und auch nicht zu realisieren! Nach dem Umzug auf die enge Verbindung unter der neuen Abfrage, es funktionierte perfekt in Ordnung.
Ich hoffe, dies kann helfen, wenn jemand anders das gleiche problem!!!