Kezdőoldal » Számítástechnika » Programozás » Mi a hiba ebben a php kódban?

Mi a hiba ebben a php kódban?

Figyelt kérdés

<table id="customers">

<tr>

<th>Item</th>

<th>Describtion</th>

<th>Prices</th>

</tr>


<?php

session_start();

$idCustomer = $_SESSION['idCustomer'];


$sql = "SELECT Product.idProduct,

Product.ProductName,

Product.Price,

Product.Description

FROM

Product JOIN ‘Order’

ON Product.idProduct = ‘Order’.idProduct

WHERE

‘Order’.idCustomer = $idCustomer;";


$result = $conn->query($sql) or die("query fails");

$total = 0;


if ($result->num_rows > 0) {

// output data of each row

while ($row = $result->fetch_assoc()) {


echo "<tr>"."<td>".$row["Product.ProductName"]."</td>";

echo "<td>".$row["Product.Description"]."</td>";

echo "<td>".$row["Product.Price"]."€"."</td>";

$total += $row["Product.Price"];

}

}

} else {

echo "<tr>"."<td>"."No Item Selected"."</td>";

echo "<td>"."No Item Selected"."</td>";

echo "<td>"."0 €"."</td>";

}

?>

</table>


Kapcsolódik a szervezhez és elvileg jó az sql kód, de valamiért nem működik. Már egy ideje nézegetem a képernyőt, de már ötlesem sincs mi lehet a probléma....



2018. jan. 23. 09:37
1 2
 1/12 A kérdező kommentje:

[link]


Így nézki az adatbázisom.

2018. jan. 23. 09:40
 2/12 anonim ***** válasza:
Lassan megtanulhatnál már debuggolni.
2018. jan. 23. 10:37
Hasznos számodra ez a válasz?
 3/12 A kérdező kommentje:

Hát a phpnál ha hiba történik szimplán nem tölti be az oldalt ... Úgy kicsit nehéz.


Amúgy ha végig olvasod sok helyen van olyan kód aminek jelezni kéne ha valami "baj" van.


Plusz csekkoltam MySQLban az SQL kódot és az jó ... Jó a kapcsolat a szerverrel stb...


Mit kell még ezen debuggolni?

2018. jan. 23. 10:41
 4/12 anonim ***** válasza:
100%

Kezdetnek az idézőjelekkel szenvedés helyett igazán adhatnál már normális nevet a tábláidnak, így csak plusz hibaforrások. Orders, Customers, stb.


Debugolni pl. az echo utasítással lehet, minden művelet után kiíratod a megváltozott változók értékeit és meggyőződsz róla, hogy helyesek. Nem elképzelhetetlen pl. hogy valamiért már rögtön a _SESSION érték nem jön át, onnan meg borul az egész.


Az SQL lekérdezésnél pedig kommenteld ki a mostanit és kezdd el újra, lépésről lépésre felépíteni a lekérdezést, minden lépésnél kipróbálva, hogy működik-e. Először csak egy sima SELECT, aztán apránként a többi.

2018. jan. 23. 11:41
Hasznos számodra ez a válasz?
 5/12 A kérdező kommentje:

A session érték is jó. Azt is próbáltam, de akkor sem történik semi ha statikus értéket adok meg Customer Idnak pl.: 1, ami tudom, hogy létezik és van a nevén áru az Order listában.


Szóval valószínűleg az Inner Jointot használom rosszul, de igazából nem tudom, mert ugyan ezt a kódot a MySQL WorkBenchben sikeresen letudtam futatni ... szóval elvileg ezzel sem kéne, hogy probléma legyen...


Ezért tette ki a kérdést. Nem mással akarom megoldani a feladatot, csak ténylegesen elakadtam sok próbálkozás után és már ötletem sincs, hogy mit csináljak, mert minden normálisnak tűnik neki.


Ezért ha valakinek feltünik, hogy mi a rossz a kódban kérem írja le

2018. jan. 23. 12:18
 6/12 anonim ***** válasza:
Lassan megtanulhatnál már debuggolni.
2018. jan. 23. 19:46
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:
Első körben ne használj SQL kulcsszavakat táblanévnek, mert addig nem fogsz tudni rendes függvényeket gyártani lekérdezésekhez.
2018. jan. 23. 19:49
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:

$sql = "SELECT Product.idProduct,

Product.ProductName,

Product.Price,

Product.Description

FROM

Product JOIN ‘Order’

ON Product.idProduct = ‘Order’.idProduct

WHERE

‘Order’.idCustomer = $idCustomer;";


Egyébként kell a végére mindkét pontosvessző? Nem értek hozzá, csak úgy feltűnt.

2018. jan. 23. 19:52
Hasznos számodra ez a válasz?
 9/12 A kérdező kommentje:

8# Nem kell, de lehet használni, de már nélküle is megpróbáltam.


6# Ha elolvastad volna a kommenteket akkor tudnád, hogy már debuggoltam amennyire csak tudtam...

2018. jan. 23. 20:20
 10/12 anonim ***** válasza:
#9 annyira, amennyire tudtad. Ha jobban tudnád, menne. Ezért kell megtanulni debuggolni.
2018. jan. 23. 20:23
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!