Avatar billede offer Nybegynder
09. marts 2012 - 17:00 Der er 10 kommentarer og
1 løsning

fejl hvis COUNT(*) giver nul

Jeg har denne kode på min side fleres steder og det virker undtaget når der ikke er nogle der lever op til kravende. Alså COUNT(*) giver 0
Hvad kan jeg gøre.

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM vare WHERE tema = '$tema' and type <> 'Dragt' AND varenr <> '$vare'"),0) or die(mysql_error());
Avatar billede offer Nybegynder
09. marts 2012 - 17:04 #1
Glemte at skriver det er i PHP og MySQL
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 18:02 #2
Det er ikke nogen fejl, når COUNT(*) giver 0. Der er derfor ikke noget galt med den kode du viser.

Så: hvad er det der ikke virker?
Avatar billede offer Nybegynder
09. marts 2012 - 18:55 #3
Fik ikke skrevet at den stopper med at indlæse side når den når til den kode der giver nul, og ikke laver resten af koden på siden med hvis der giver 1 eller over køre der rigtig vider
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 19:02 #4
Det kan måske være fordi du selv checker på om $antal er 0. Men det er li'som ikke til at vide, hvis vi ikke kan se koden.
Avatar billede offer Nybegynder
09. marts 2012 - 19:51 #5
Det er alt koden, jeg når ikke at gøre noget med $antal og det er kun hvis der ikke er nogle i tabler og der skulle giver nul at den går i stå.
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 19:57 #6
Det kan ikke være al koden, for der mangler minimum <?php ... ?>
Avatar billede offer Nybegynder
09. marts 2012 - 20:21 #7
ja der er lidt mere kode med det er der fejlen sker her er en test jeg har prøvet hvor der giver o og den skriver kun hej og så stopper den.

<? require("indhold/funktioner/variabler.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>en lille test</title>
</head>
<body>
Hej
<?
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM vare WHERE tema = 'Frugt' and type <> 'Dragt'"),0) or die(mysql_error());
echo $antal;
?>
med dig

</body>
</html>

Rette jeg <> 'Dragt' til = 'Dragt' så den giver 1 i $antal skriver den hej1 med dig
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 20:34 #8
Åh ja, det er jo rigtigt. Din test på om der er fejl, er anbragt et forkert sted. Jeg tror jeg skal melde mig til et læsekursus.... :)

Din test er ikke på om din SQL fejler, men på hvad værdien er. Og 0 giver en "fejl". Det skal være:

$result = mysql_query("SELECT COUNT(*) FROM vare WHERE tema = 'Frugt' and type <> 'Dragt'") or die(mysql_error());
$antal = mysql_result($result,0);
Avatar billede offer Nybegynder
09. marts 2012 - 20:43 #9
Jeg sige rigtig mange tak. Nu virker det hele, det er træst med de fejl der kun kommer ved nogle ting.
Tak igen så kan jeg komme vider med siden.

Jeg laver et svar da jeg kan se du ikke vil havde point
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 20:48 #10
...og så skal du lige acceptere dit eget svar. ;)
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 20:56 #11
Så er det på plads, og så kommer den sædvanlige advarsel om at din kode er usikker, og åben for SQL-injections. Måden du bruger $tema på er håbløst forældet. Læs mere på http://www.eksperten.dk/guide/1480
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
Kurser inden for grundlæggende programmering

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