ugrás a tartalomhoz

Php sql (num rows count) - megoldva!

DaWe35 · 2014. Aug. 4. (H), 21.11
Üdv!
A következő php kód nem működik, pedig mindenhol ezt írják (még w3c-n is):
<?php
$connect = mysql_connect(localhost, user, password, db);
$connect;
  
  $sql="SELECT ip FROM data WHERE ip='psg.servegame.com:33333'";
$qry=mysql_query($sql);
$num_rows = mysql_num_rows($qry); 

if($num_rows > 0) 
{
echo '
van';
}

else 
{
echo 'nincs';
}


mysql_close($connect);
?>
A kód minden esetben azt írja ki, hogy "nincs", még akkor is, ha az adat (ip cím) már szerepel az adatbázisban, akkor is, ha nem. Error log:
PHP Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/coolhdhu/public_html/craft/test.php on line 7


Megoldás: picit gondolkoztam a kódon, és ez már működik:
<?php
$connect = mysqli_connect(localhost, user, password, db-name);
  
$sql="SELECT ip FROM data WHERE ip='psg.servegame.com:33333'";
$qry=mysqli_query($connect,$sql);
$num_rows = mysqli_num_rows($qry); 

if($num_rows > 0) 
{
echo '
van';
}

else 
{
echo 'nincs';
}

mysqli_close($connect);
?>
 
1

Kapcsolódás

Poetro · 2014. Aug. 4. (H), 22.19
Nem sikerült kapcsolódnod az adatbázishoz, vagy hibás a lekérdezés, ezért nem kapsz megfelelő választ.
5

Csatlakozik

DaWe35 · 2014. Aug. 5. (K), 08.28
De, csatlakozik, mert ebbe az adatbázisba már tudtam írni adatokat, ugyanezekkel az adatokkal. A lekérdezést meg leteszteltem phpmyadminban.
2

Érdemes elolvasni a

Hidvégi Gábor · 2014. Aug. 4. (H), 22.38
Érdemes elolvasni a kézikönyvet. A mysql_connect() negyedik paramétere például biztosan nem az adatbázis azonosítója.
3

w3c?

bamegakapa · 2014. Aug. 4. (H), 23.28
A w3c biztos nem ír ilyet, semmi köze a phphoz. Amire gondolsz, az a w3schools, aminek semmi köze a w3chez. Valójában a w3schools csak egy igen gyatra, elavult referencia/tananyag oldal, jó seo-val, a helyedben messzire kerülném.

A hivatalos php leírást böngészd inkább, ott is inkább felejtsd el a mysql_ függvényeket, már kifutóban vannak. Tanulj inkább mysqli-t vagy pdo-t, ha már tanulni szeretnél.
7

Kösz

DaWe35 · 2014. Aug. 5. (K), 08.34
Köszönöm, már összevissza írogatta mysql_-t és mysqli_-t, de akkor ezentúl csak mysqli_-t fogok használni.
4

a lekérdezés nem működik

Akron · 2014. Aug. 5. (K), 08.16
A mysql_connect negyedik paramétere egy logikai érték. Nem tudom nálad a "db" mit hordoz.

A harmadik sor az mi akar lenni?

Azután van-e "data" táblád és annak van-e "ip" mezője?
A 6. sor után szúrj be egy echo mysql_error(); sort. Abból talán többet megtudsz.
6

Pontosítás:

DaWe35 · 2014. Aug. 5. (K), 08.33
Igen, "data" tábla, és "ip" az egyik oszlop, amivel akarok dolgozni. A csatlakozásnál a 4. érték (db-nek írtam át), a data, az adatbázistábla neve. Ez így működik, még akkor is ha nem ismeritek. Azt, hogy helyes-e, azt nem tudom.
A 3. sornál csatlakozik, mert "valahol csak kell rá csatlakozni", de nem volt jobb ötletem, mint az elejére behívni a kódot. Nem tudom, hol kellene csatlakozni...
8

Úgy emlékszem, a mysqli

Vilmos · 2014. Aug. 5. (K), 08.42
Úgy emlékszem, a mysqli esetén adható meg bejelentkezésnél az adatbázis. Mysql esetén külön parancs a kiválasztása.
Remélem hasznát veszed, adok egy mintát sql hibakezelésre.

<?php
   $conn = mysql_connect( 'localhost','user','password');

   if (! is_resource( $conn ){
      echo 'connect?';
      die; }

   if (! mysql_select_db( $db ){
      echo 'db?';{
      die; }

   $res = mysql_query( 'SELLECT ...');

   if (! $res ){
      echo 'query?';
      die; }

   $rows = mysql_num_rows( $res );
   echo $rows;
?>