Avatar billede synns Nybegynder
22. februar 2003 - 13:14 Der er 11 kommentarer og
1 løsning

Fejl i DB ?

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /net/users/a50/160/xupdk/www/boom/online.php on line 16

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /net/users/a50/160/xupdk/www/boom/online.php on line 22
brugere online

Det gir den af fejl.. Hvad fanden er der galt?
www.xup.dk/boom/online.php - det er siden marker siden så ser i fejlen..

Online.php kode:

<?php
print '<font face="helvetica" size="1" color="#FFFFFF">';

$mysql_host = "mysql.xup.dk";
$mysql_user = "xupdk";
$mysql_password = "KODE";
$ip = $REMOTE_ADDR;


mysql_connect($mysql_host,$mysql_user,$mysql_password);
mysql_select_db("systems");
$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1];

    $r = mysql_fetch_row( mysql_query("SELECT * FROM online_users WHERE ip like '$ip'"));
    if ($r == (false))  {
    mysql_query("INSERT INTO online_users (id,ip,name,date) values ('','$ip','','$array2')");
    }
mysql_query("DELETE FROM online_users where date < $array2 - 400");
$res = mysql_query("SELECT * FROM online_users");
$tal = mysql_num_rows($res);
if ($tal == "1") {
print "1 bruger online ";
}
else {
print $tal;
print " brugere online";
}

?>

Database dump:

CREATE TABLE online_users (
  id int(11) NOT NULL auto_increment,
  ip tinytext NOT NULL,
  name tinytext NOT NULL,
  date date NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Jeg kan ikke se fejlen, please hjælp!
Avatar billede dsj Nybegynder
22. februar 2003 - 15:03 #1
Prøv efter:

$r = mysql_fetch_row( mysql_query("SELECT * FROM online_users WHERE ip like '$ip'"));

at skrive:

if ($r[0] == false)  {
...(osv.)
Avatar billede synns Nybegynder
22. februar 2003 - 15:22 #2
dsj - Dvs. at mine online.php fil ser således ud:

<?php
print '<font face="helvetica" size="1" color="#FFFFFF">';

$mysql_host = "mysql.xup.dk";
$mysql_user = "xupdk";
$mysql_password = "zph28mza";
$ip = $REMOTE_ADDR;


mysql_connect($mysql_host,$mysql_user,$mysql_password);
mysql_select_db("systems");
$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1];

    $r = mysql_fetch_row( mysql_query("SELECT * FROM online_users WHERE ip like '$ip'"));
        if ($r[0] == false)  {
    mysql_query("INSERT INTO online_users (id,ip,name,date) values ('','$ip','','$array2')");
    }
mysql_query("DELETE FROM online_users where date < $array2 - 400");
$res = mysql_query("SELECT * FROM online_users");
$tal = mysql_num_rows($res);
if ($tal == "1") {
print "1 bruger online ";
}
else {
print $tal;
print " brugere online";
}

?>

Fordi der kommer stadig samme fejl!

www.xup.dk/boom/online.php - Tjek selv!
Avatar billede dsj Nybegynder
22. februar 2003 - 15:36 #3
kan du lige sætte et linie-nr på den første linie i din kode, så jeg kan tracke fejlen ?
Avatar billede synns Nybegynder
22. februar 2003 - 15:48 #4
Hmm.. JoEh to sek her er det:
1<?php
2print '<font face="helvetica" size="1" color="#000000">';
3
4$mysql_host = "mysql.xup.dk";
5$mysql_user = "xupdk";
6$mysql_password = "dsf23asd";
7$ip = $REMOTE_ADDR;
8
9
10mysql_connect($mysql_host,$mysql_user,$mysql_password);
11mysql_select_db("systems");
12$time = explode(" ",microtime());
13$array1 = $time[0];
14$array2 = $time[1];
15
16    $r = mysql_fetch_row( mysql_query("SELECT * FROM online_users WHERE ip like '$ip'"));
17      if ($r[0] == false)  {
18    mysql_query("INSERT INTO online_users (id,ip,name,date) values ('','$ip','','$array2')");
19    }
20mysql_query("DELETE FROM online_users where date < $array2 - 400");
21$res = mysql_query("SELECT * FROM online_users");
22$tal = mysql_num_rows($res);
23if ($tal == "1") {
24print "1 bruger online ";
25}
26else {
27print $tal;
28print " brugere online";
29}
30
31?>
Avatar billede dsj Nybegynder
22. februar 2003 - 15:59 #5
Prøv at erstatte linie 16 til 19 og se om den samme fejl stadig er der:

  $sql = "SELECT * FROM online_users WHERE ip like '$ip'";
  $result = mysql_query ($sql) or die (mysql_error());
  if (mysql_num_rows($result) < 0) {
    mysql_query("INSERT INTO online_users (id,ip,name,date) values ('','$ip','','$array2')");
  }

Ellers kan fejlen være, at du ikke får connected rigtigt til databasen. Prøv at erstatte linie 10 og 11 med:

  $db = mysql_pconnect($mysql_host, $mysql_user, $mysql_pass);
  mysql_select_db("systems", $db)
  or die("<strong>Fejl: Kunne ikke connecte til $db_name@$db_host</strong>");
Avatar billede synns Nybegynder
22. februar 2003 - 16:01 #6
Vil du ikke nok sende mig hele koden af gangen ellers kan jeg ik finde ud af det - mange tak!
Avatar billede dsj Nybegynder
22. februar 2003 - 16:05 #7
<?php
print '<font face="helvetica" size="1" color="#FFFFFF">';

$mysql_host = "mysql.xup.dk";
$mysql_user = "xupdk";
$mysql_password = "zph28mza";
$mysql_name = "systems";
$ip = $REMOTE_ADDR;


  $db = mysql_pconnect($mysql_host, $mysql_user, $mysql_pass);
  mysql_select_db("systems", $db)
  or die("<strong>Fejl: Kunne ikke connecte til $mysql_name@$mysql_host</strong>");

$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1];

    $sql = "SELECT * FROM online_users WHERE ip like '$ip'";
    $result = mysql_query ($sql) or die (mysql_error());
    if (mysql_num_rows($result) < 0) {
      mysql_query("INSERT INTO online_users (id,ip,name,date) values ('','$ip','','$array2')");
    }

mysql_query("DELETE FROM online_users where date < $array2 - 400");
$res = mysql_query("SELECT * FROM online_users");
$tal = mysql_num_rows($res);
if ($tal == "1") {
print "1 bruger online ";
}
else {
print $tal;
print " brugere online";
}

?>
Avatar billede synns Nybegynder
22. februar 2003 - 16:06 #8
Nu er fejlen:


Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user: 'xupdk@gyda.andersenit.dk' (Using password: NO) in /net/users/a50/160/xupdk/www/online.php on line 11

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /net/users/a50/160/xupdk/www/online.php on line 12
Fejl: Kunne ikke connecte til systems@mysql.xup.dk
Avatar billede synns Nybegynder
22. februar 2003 - 16:07 #9
hmmm
Avatar billede dsj Nybegynder
22. februar 2003 - 16:12 #10
Ok, min fejl - ændre lige linien:

$mysql_password = "zph28mza";

til:

$mysql_pass = "zph28mza";
Avatar billede synns Nybegynder
22. februar 2003 - 16:14 #11
www.xup.dk/online.php - Der er noget galt ? Den kan ikke connecte ?
Avatar billede synns Nybegynder
22. februar 2003 - 16:20 #12
Har fået det til at virke.. Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester