Kezdőoldal » Számítástechnika » Programozás » Mi lehet a gond? Php

Mi lehet a gond? Php

Figyelt kérdés

üdv van egy beléptető rendszerem eddig jól működött,de most két hibát is kiír,nem tudom minek valaki ?

Itt a kód

hiba meg itt

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\egyeb\index.php on line 31


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\egyeb\index.php on line 33



<?php

include("config.php");

session_start();

if(isset($_POST['submit'])){

$email = mysql_real_escape_string($_POST['email']);

$password = mysql_real_escape_string ( $_POST['password']);

$login_regex = '/^[a-z0-9\_\-\.]{3,10}$/';

$email_regex = '/^([A-z0-9\_\.\-]+)@([a-z0-9\_\-\.]+).([a-z]{2,})$/';


if(empty($email)){

echo"<div class=\"error\">Nem adott meg Email-címet.</div>";

$error_data = true;

}elseif(!preg_match($email_regex,$email)){

echo "<div class=\"error\">Érvénytelen Email-cím</div>";

$error_data = true;

}



if(empty($password)){

echo "<div class=\"error\">Nem adott meg Jelszót!</div>";

$error_data = true;

}elseif(!preg_match($login_regex,$password)){

echo "<div class=\"error\">Helytelen karaktereket használt!</div>";

$error_data = true;

}

if($error_data == false){

echo "<div class=\"notice\">Belépett</div>";

}

$sql="SELECT id FROM login WHERE username='$email' and password='$password'";

$result = mysql_query($sql);

$row = mysql_fetch_array($result);

$active = $row['active'];

$count=mysql_num_rows($result);


if($count==1){

session_register("email");

$_SESSION['login_user']=$email;

header("location: welcome.php");

}

else{

echo "<div class=\"error\">Hibás email/jelszó</div>";

}


}


?>


2012. okt. 26. 14:43
 1/2 anonim ***** válasza:

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result"


Ezt leginkább akkor szokta dobni, ha a tábla nevét rosszul adod meg a lekérdezésnél.

2012. okt. 26. 14:58
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

A lekérdezés eleve rosszul van kezelve.

Ha a mysql_query() hibával tér vissza (mindegy miért) akkor a mysql_fetch_array() és a mysql_num_rows() is a nagy "false" semmivel fog dolgozni, ami ugyebár "not a valid MySQL result". Úgy ahogy az nálad is történik.


Ha az adatbázisodat megfelelően alakítottad ki, akkor is kb így csináld:


$sql="SELECT id FROM login WHERE username='$email' and password='$password'";

if($result = mysql_query($sql)){

if($row = mysql_fetch_array($result)){

$active = $row['active'];

$count=mysql_num_rows($result);

if($count==1){

session_register("email");

$_SESSION['login_user']=$email;

header("location: welcome.php");

}

}

}

2012. okt. 26. 17:41
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!