A php regisztrációs felületemnél hiba lép fel. Mi az oka? Lent a forráskód és jegyzet
Itt a hibaüzenet:
Fatal error: Call to a member function query() on a non-object in /home/a4755475/public_html/reg.php on line 263
if($error_data==false){
echo "
<div class='notice'>
Sikeres regisztráció
</div>
";
$conn = mysql_connect("mysql1.000webhost.com", "felhasználónév", "jelszó");
mysql_select_db("felhasználónév");
if($conn->connect_errno) {
echo "<div class="message error">Adatbázis hiba: ",$conn->connect_errno." ".$conn->connect_error;
exit();
}
$query = "INSERT INTO `user` (`user_username`,`user_email`,`user_password`) VALUES ('".$username."', '".$email."', '".sha1($pass)."')";
$conn->query($query) or die("Hiba!");
}
"Fatal error: Call to a member function query() on a non-object in /home/a4755475/public_html/reg.php on line 263"
Ha ilyen pontosan megmondja a hiba okát, megpróbálhatnád értelmezni különböző fordítókkal is...
Azt jelenti kb. hogy mikor hívod a query() függvényt, ezt egy olyan objektumban teszed, ami nem is objektum.
"$conn->query($query)"
És átnézve:
"$conn = mysql_connect("mysql1.000webhost.com", "felhasználónév", "jelszó");"
És végül nézd meg ezt:
És akkor ez most mit jelentsen? Amit leírtál hogy "átnézve"
azt kéne beírni , de hova? Ha megkérnélek leírnád a hibás kódsort mivel még nem vagyok perfect php ban :D
Előre is köszönöm. Hasznos volt a válaszod
Ha kiváncsi vagy az oldalra akkor itt van.
Töltsd ki az űrlapot helyesen, és azt követően lép fel a hiba: [link]
A hibát az utolsó előtti sorban amit írtál dobja.
Feljebb: "$conn = mysql_connect("mysql1.000webhost.com", "felhasználónév", "jelszó");" ezt az értéket rendeled hozzá a conn változóhoz.
Itt a mysql_connect leírása: [link]
"Returns a MySQL link identifier on success or FALSE on failure."
Vagyis egy MySQL linket térít vissza.
Na most a -> csak az objektumoknál használható, és mivel ez nem objektum, nem tudja végrehajtani a következőt:
$conn->query($query) or die("Hiba!");
Szerintem ez lesz a hiba oka.
Neeeem. :)
Katt ide:
És nézd meg a példákat.
Nem úgy csinálja, ahogy te ($valami->query($q)), hanem:
mysql_query($q);
ezt a sort:
$conn->query($query) or die("Hiba!");
Írd át erre:
mysql_query( $query ) or die("Hiba!");
Ugyanígy a többi helyen is...
$conn->connect_errno ebből lesz: mysql_errno()
$conn->connect_error ebből lesz: mysql_error()
Nem tudom, honnan tanultad ezt, de az is lehet, hogy letöltöttél valami mysql objektum szerűséget és végül nem használtad. Ez esetben $conn = mysql_connect("mysql1.000webhost.com", "felhasználónév", "jelszó"); ezt a sort kellene csak átírnod a megfelelőre, amit én nem tudok, hogy mi kellene legyen, mert nem tudom mit próbáltál itt használni... :D
köszi a segítséget
műkszik a dolog az lenne a másik kérdés hogy hogyan lehet beléptető scriptet csinálni -.-" . Nyitok majd egy új topicot
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!