Avatar billede sjh Nybegynder
09. marts 2007 - 16:09 Der er 4 kommentarer og
1 løsning

mysql_query giver ikke fejl ved UPDATE

Jeg har et problem når jeg benytter UPDATE i min sql.. hvis den ikke bliver opdateret (UPDATE) så kommer der ikke fejl..



  function adduser_online($strTitle, &$sqlConn)
  {
    $strTitle = ($strTitle)?$strTitle:$_SERVER["REQUEST_URI"];

    $strSQL = "UPDATE onlineusers SET stamp=UNIX_TIMESTAMP(), url='$_SERVER[REQUEST_URI]',
    title='$strTitle' WHERE addr='$_SERVER[REMOTE_ADDR]';";

    mysql_query("LOCK TABLES onlineusers WRITE;", $sqlConn) or die("LOCK");
    $r = mysql_query($strSQL, $sqlConn) or die("UPDATE");
    if (!$r)
    {
      $strSQL = "INSERT INTO onlineusers (stamp, url, addr, name, title) VALUES (UNIX_TIMESTAMP(),
      '$_SERVER[REQUEST_URI]', '$_SERVER[REMOTE_ADDR]', 'Gæst', '$strTitle');";
      mysql_query($strSQL, $sqlConn) or die("INSERT");
    }
    mysql_query("UNLOCK TABLES;", $sqlConn) or die("UNLOCK");
  }
Avatar billede dkfire Nybegynder
09. marts 2007 - 16:27 #1
Istedet for !$r, kunne du tjekke hvor mange rækker som blev påvirket af din update.
Det kan evt gøre med mysql_num_rows($r). Hvis der er mindre end 1 række som er blevet opdateret, så ved at ingen opdatering er fundet sted.

die() køres kun når din forespørgelse slet ikke kan køres. Dvs at hvis der ikke er noget som skal opdateres, men har forespørgelsen er kørt rigtigt, så vil die() ikke blive kørt.
Avatar billede sjh Nybegynder
09. marts 2007 - 16:32 #2
her står der : http://dk2.php.net/mysql_query

For andre SQL forespørgsler, UPDATE, DELETE, DROP, osv, vil mysql_query() returnere TRUE ved succes og FALSE ved fejl.

det vil sige ved "UPDATE" kan jeg kun få TRUE eller FALSE
Avatar billede sjh Nybegynder
09. marts 2007 - 16:38 #3
har også lige prøvet, og det giver fejl..
mysql_num_rows(): supplied argument is not a valid MySQL result resource in..

det viste jeg også godt..
Avatar billede sjh Nybegynder
09. marts 2007 - 17:23 #4
når det kan tjekkes med : mysql_affected_rows()

if (!mysql_affected_rows($sqlConn))
{

}
Avatar billede dkfire Nybegynder
10. marts 2007 - 14:46 #5
Ja min fejl
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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