Php - pobieranie rekordu o określonej wartości


(Azpr) #1

chciałęm zrobić coś na wzór ukrywania danych i wyszło mi coś takiego:

$query = "SELECT * FROM userdata WHERE login = '$ids'";

$result = mysql_query($query) or die(mysql_error());


$query2 = "SELECT status_gg, status_tlen, status_jabber FROM prywata WHERE login = '$ids'";

$result2 = mysql_query($query2) or die(mysql_error());


$result2 = mysql_fetch_assoc($result2);



while ($wiersz = mysql_fetch_array($result)) 

{


if($result2['status_gg'] !== 1){ echo("gg: ".$wiersz['gg']."
"); } 

if($result2['status_tlen'] !== 1){ echo("tlen: ".$wiersz['tlen']."
"); } 

if($result2['status_jabber'] !== 1){ echo("jabber: ".$wiersz['jabber']."
"); }



}

jeśli rekord przypisany np. status_gg wynosi 1 to nie zostanie wyświetlony... sęk w tym że coś jest nie tak i nie mam pojęcia jak to co. W bazie wszytko jest poprawnie... Skrypt ma za zadanie poobrać dane oraz sprawdzić status o lub 1 i wyświetlić dane lub nie...


(Airborn) #2

Jakiego typu polami w bazie danych są poszczególne statusy? Sprawdź, czy będzie działało takie porónanie !=, ewentualnie rzutuj status na typ int.

if($result2['status_gg'] != 1)

albo

if( (int)$result2['status_gg'] !== 1)

(Mahsoft) #3

powinno byc:

$query = "SELECT * FROM userdata WHERE login = ".$ids;

$query2 = "SELECT status_gg, status_tlen, status_jabber FROM prywata WHERE login = ".$ids;

(Azpr) #4

w bazie statusy są polami int. Pozmieniałem jednak nadal bez zmian

dlaczego tak?


(Airborn) #5

To nie Java, w php łączenie stringów odbywa się poprzez ., pozatym konstrukcja AZPR , jest poprawna, w łańcuchu objętym podwójnym cudzysłowem, zmienna zamieniana jest na jej wartość.

AZPR , zrób sobie echo tych wierszy i sprawdź co zawierają, sprawdź również jakiego są typu gettype()


(Azpr) #6

hmm

echo gettype($result2['status_gg'])."
";

echo gettype($result2['status_tlen'])."
";

echo gettype($result2['status_jabber'])."
";

zwraca

NULL

NULL

NULL

a

echo " ".$result2['status_gg']." ";

echo " ".$result2['status_tlen']." ";

echo " ".$result2['status_jabber']." ";

nie zwraca nic