Avatar billede kbhadsten Nybegynder
26. marts 2004 - 20:58 Der er 4 kommentarer og
1 løsning

mysql_query($q) vil ikke returnere false

Hej

kan nogen forklarer mig hvorfor den ikke returnere mysql_query "false" når jeg prøver at slette en email der IKKE er i databasen

                $q = "DELETE FROM nyhedsbrev WHERE email = '".$_POST['email']."'";
                if (mysql_query($q) == false)
                    {
                    echo "<div align=\"center\"><strong>Afmelding, Nyhedsbrev</strong></div>";
                    echo "<table width=\"300\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
                    echo "<tr>";
                    echo "<td align=\"left\" width=\"200\">Der er sket en fejl under afmelding af nyhedsbrev.<br>Tjek at den indtastede emailadresse er korrekt.</td><td width=\"100\" align=\"center\"><img src=\"gfx/obs.jpg\" width=\"80\" height=\"80\"></td>";
                    echo "</tr>";
                    echo "</table>";                   
                    }
                else
                    {
                    $q = mysql_query("SELECT Id FROM nyhedsbrev ORDER BY Id DESC");
                    $antal = mysql_num_rows($q);
                    echo "<div align=\"center\"><strong>Afmelding, Nyhedsbrev</strong></div>";
                    echo "<table width=\"300\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
                    echo "<tr>";
                    echo "<td align=\"left\" width=\"200\">Du er nu afmeldt nyhedsbrevet.<br>Tak for din interesse!</td><td width=\"100\" align=\"center\"><img src=\"gfx/ok.jpg\" width=\"80\" height=\"80\"></td>";
                    echo "</tr>";
                    echo "<tr>";
                    echo "<td colspan=\"2\" align=\"left\">Antal tilmeldte til nyhedsbrevet: ".$antal."</td>";
                    echo "</tr>";
                    echo "</table>";               
                    }
Avatar billede arne_v Ekspert
26. marts 2004 - 21:02 #1
Only for SELECT,SHOW,EXPLAIN or DESCRIBE statements mysql_query()  returns a resource identifier or FALSE if the query was not executed correctly. For other type of SQL statements, mysql_query() returns TRUE on success and FALSE on error. A non-FALSE return value means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.
Avatar billede arne_v Ekspert
26. marts 2004 - 21:02 #2
Assuming the query succeeds, you can call mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.
Avatar billede arne_v Ekspert
26. marts 2004 - 21:03 #3
Og undskyld at jeg bare copy paster fra PHP docs, men de siger vist alt ...
Avatar billede kbhadsten Nybegynder
29. marts 2004 - 17:28 #4
Jeg lukker og slukker selv :D tak for hjælpen!
Avatar billede arne_v Ekspert
29. marts 2004 - 17:32 #5
Du følte ikke trang til at uddele nogen point ??
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