Kezdőoldal » Számítástechnika » Weblapkészítés » A következő PHP függvény...

A következő PHP függvény miért adja mindig vissza az adott mysql tábla összes elemét? Valami rossz?

Figyelt kérdés

function needfrom($need, $from, $key, $value)

{

$t = array();

$result = mysql_query("SELECT ".$need." FROM ".$from." WHERE ".$key." = ".$value);


if ($result)

{

while ($row = mysql_fetch_row($result))

{

$t[] = $row;

}

}

return $t;

}



2013. aug. 17. 09:37
 1/4 anonim ***** válasza:

1.: Fölösleges a $t hiszen a $row ugyanúgy tartalmazza a query eredményeket.


2.: valószínűleg azért az egészet adja vissza mert a return során az egész tömböt adja vissza nem csak a tömb adott elemét.


Megoldás:


function needfrom($need, $from, $key, $value, $tombelem)

{

$t = array();

$result = mysql_query("SELECT ".$need." FROM ".$from." WHERE ".$key." = ".$value);


if ($result)

{

while ($row = mysql_fetch_row($result))

{

$t[] = $row;

}

}

return $t[$tombelem];

}


Persze máshogy is lehet.

2013. aug. 17. 11:47
Hasznos számodra ez a válasz?
 2/4 Drone007 ***** válasza:

#1: ezt nem gondoltad át ugye?


Kedves kérdező!

Szép próbálkozás ilyen függvényeket írni, de ne fáraszd magad olyasmivel, amit már megcsináltak jobban, és egyszerűbben. Használj kész adatbázis class-t.

Ilyen pl a google megoldása az edb:

[link]

vagy a népszerű és sokoldalú ADOdb:

[link]

Ha szeretsz a kódban matatni, akkor inkább az edb-t javaslom, az olyan egyszerű, mint a bot, és a classt kiegészíteni saját speciális funkciókkal sem bonyolult.


Sok sikert!

2013. aug. 17. 12:15
Hasznos számodra ez a válasz?
 3/4 Drone007 ***** válasza:

Egyébként a függvényedben nincs hiba, legfeljebb nem túl biztonságos. Valószínűleg a megadott paraméterezés lesz a ludas.

Ami pedig a biztonságot illeti. Vannak védett szavak, amikre a mysql háklis(date, limit, stb). Ha ezek mezőnévként szerepelnek, célszerű a lekérdezésben a megfelelő aposztrófokat kitenni, mert a mysql kiakad különben. valahogy így:

$result = mysql_query("SELECT `".$need."` FROM `".$from."` WHERE `".$key."` = '".$value."'");

2013. aug. 17. 12:19
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Hogy akarsz erre komoly választ adni a lekérdezésnek átadott változók értéke nélkül? A lekérdezés szerkezete jó, nyilván olyan feltétel keletkezik a WHERE után, amit az összes rekord kielégít.
2013. aug. 18. 10:36
Hasznos számodra ez a válasz?

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!