[PHP][OOP]Ebbe a nagyon pici kódba mi lehet a hiba?
Sziasztok!
Nagyon kezdő vagyok még OOP téren, de egyszerűen nem találom a hibát :( !
connect.php :
<?php
class Lekerdezes{
var $sql="";
var $con ="";
function __construct(){
$this->con=new mysqli('localhost', 'root', '','gyakorlas');
$sql=mysqli_query($this->con,"SELECT id FROM teszt");
$con = new mysqli('localhost', 'root', '','gyakorlas');
}
function lekerdezes (){
while($row=mysqli_fetch_all($this->sql)){
foreach ($row as $key) {
echo $key[0];
}
}
}
}
?>
-----------------------------
index.php:
<?php
include("connect.php");
$lekerdezes=new Lekerdezes();
$lekerdezes->lekerdezes();
?>
------------------
Hiba:Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, string given in C:\xampp\htdocs\gyakorlas\connect.php on line 15
Ez a rész veletlen marad benne meg hibakeresebol
$con = new mysqli('localhost', 'root', '','gyakorlas');
De a hiba attól meg van :(
while($row=mysqli_fetch_all($this->
;sql)){
Ittis a pontos vessző hibakeresebol maradt vissza :(
1. innen szerinted mi hiányzik?
$con = new mysqli('localhost', 'root', '','gyakorlas');
2. eleve miért üres stringgel inicializálod a $cont-t?
Igazából ennek semmi köze nincs se az OOP-hez, se máshoz.
Ha programozást akarsz tanulni, ne OOP-val kezd.
Ha adatbázishoz kapcsolódást, akkor is fölösleges az OOP.
Ha konkrétan OOP-t akarsz tanulni, akkor meg az adatbázisozást hagyd, felesleges.
Ez csak része a dolognak. Azért lesz osztályban a dolog mert nagyon sokszor fordul elő a foprogramban. Ez egy kiiratas lenne majd adatbázisból. Es csak gyakorlas.
#1 Foggalmam sincs mire gondolsz hogy mi hianyzik. Ha pedig a legelején adom meg hibába utkozok :(
<?php
class Lekerdezes{
var $sql="";
var $con =new mysqli('localhost', 'root', '','gyakorlas'); ///!!MOST DEFINIÁLTAM ITT
function __construct(){
$sql=mysqli_query($this->con,"SELECT id FROM teszt");
}
function lekerdezes (){
while($row=mysqli_fetch_assoc($this->sql)){
foreach ($row as $key) {
echo $key[0];
}
}
}
}
?>
#1 Definiáltam ott ahol kérted akkor ez a hiba :( -> Fatal error: Constant expression contains invalid operations in C:\xampp\htdocs\gyakorlas\connect.php on line 7
"Ez csak része a dolognak. Azért lesz osztályban a dolog mert nagyon sokszor fordul elő a foprogramban."
Ezért nem kell OOP, főleg nem így.
Az OOP előnye a kódújrafelhasználás öröklődés esetén és az enkapszualizáció.
Itt egyik sincs megvalósítva.
"Ez egy kiiratas lenne majd adatbázisból. Es csak gyakorlas."
Erről beszélek, hogy ez nem gyakorlás, hanem taknyolás.
Gyakorolni lépésről lépésre kell, felépíteni a dolgokat a legalapvetőbb dolgoktól, lépésenként bővítve, hogy értsd mi miért történik. Te ebből mit értesz eddig?
És ha most valaki kijavítja a hányadék kódodat és működni fog, attól mitől lesz jobb?
Te ugyanúgy nem fogod tudni megoldani jól legközelebb, de még csak nem is tanulsz belőle.
És most Én vagyok a köcsög a szemedben, de számtalan ilyen kódot láttam az iparban, nagy működő rendszerekben, amit teljesen fogalmatlan emberek írtak meg.
Valószínűleg pont azért, mert senki nem kólintotta fejbe őket padavan korukban, hogy "nagyfiam, gyakorolni nem így kell!".
Valószínűleg te tipikusan az az ember vagy akinek szája van de tehetsége nincs!
Mutasd meg hogy jobb vagy akkor!
Elmondtam hogy szükség lesz rá! Elmondtam, hogy gyakorlás! Mit nem lehet megérteni ezen? Miért kell áskálódni, szapulni?
Ha megkérhetnélek linkelnél egy LinkdIn profilt kedves newBillGates :)
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!