12. februar 2005 - 13:24
Der er
28 kommentarer og 2 løsninger
Resource id #5 ?
Hej allesammen. For hele tiden udskrevet dette: Resource id #5 Men har det noget med databasen eller det et array som det er galt med ? På forhånd tak.
Annonceindlæg fra Genetec
Slettet bruger
12. februar 2005 - 13:32
#1
hvad gør du siden den udskriver det?
12. februar 2005 - 13:43
#2
Den henter noget data fra en dasebase. Indsætter noget data. Og til sidst sletter den noget andet.
12. februar 2005 - 13:46
#3
Det lyder som om mangler at fetche din result resource.
12. februar 2005 - 13:50
#4
Vi må nok se lidt kode, hvis det ikke skal være det rene gætteri.
12. februar 2005 - 13:52
#5
<?php include("connect.php"); $lognavn= "../log/over" .date("j-m-y") .".txt"; $i=0; $fejla=0; $fejl=""; $status = ""; $res2 = mysql_query("SELECT * FROM send order by id asc"); $handle = fopen($lognavn, "a+"); if (mysql_num_rows($res2) != 0) { while($row = mysql_fetch_array($res2)){ $kode = $row['id']; echo $kode; if ($row['type'] == "mail") { $res = mysql_query("SELECT * FROM adresser where firma = '" .$row['fra'] ."' AND mail !='none'"); if (mysql_num_rows($res) != 0){ while($row1 = mysql_fetch_array($res)) { $til = $row1['mail']; $fra = $row['fra']; $besked = $row['besked']; $res3 = mysql_query("INSERT INTO mail (til, afsendt, fra, besked) VALUES ('$til','0','$fra','$besked')"); $fejl .= "\n " .mysql_error(); } $res1 = mysql_query("delete FROM send where id= '$kode'"); $fejl .= "\n " .mysql_error(); } else { $fejla++; $fejl .= "\nIngen adresser fundet"; } } elseif ($row['type'] == "sms") { echo $kode; $res = mysql_query("SELECT * FROM adresser where firma = '" .$row['fra'] ."' AND sms !='none'"); if (mysql_num_rows($res) != 0){ echo $kode; while($row1 = mysql_fetch_array($res)) { $til = $row1['sms']; $fra = $row['fra']; $besked = $row['besked']; echo $kode; $res3 = mysql_query("INSERT INTO sms (til, afsendt, fra, besked) VALUES ('$til','0','$fra','$besked')"); $fejl .= "\n " .mysql_error(); } $res1 = mysql_query("delete FROM send where id= '$kode'"); $fejl .= "\n " .mysql_error(); } else { $fejla++; $fejl .= "\nIngen adresser fundet"; } } else { $fejla++; $fejl .= "\nHverken email eller SMS er valgt."; } } } else { $fejl .= "Ingen resultater"; } $fejl .= "\n " .mysql_error(); $tid = date("g:i:s"); $status = $handle ."\n\ntid : " .$tid . "\nFejl opstod : " .$fejla ."\nFejltekster : " .$fejl .".\n"; $handle1 = fwrite($handle, $status); ?>
12. februar 2005 - 13:54
#6
Koden virker fint, dog udskriver den, den der resource ting der
12. februar 2005 - 14:01
#7
Det kan jeg ikke lige se hvorfor. Det eneste du udskriver er jo: $kode og jeg kan ikke se at du tildeler den en resource id nogen steder. Du bruger vel ikke $kode i: "connect.php"?
12. februar 2005 - 14:03
#8
Nej $kode bliver ikke brugt connect.php. Nej jeg forstår det hellere ikke helt :(
12. februar 2005 - 14:07
#9
du vi cå den fejl hvis du prøver at udskrive et resultatsæt. fx: echo $res; men det gør du ikke nogen steder i den kode du viser. er du 100& sikker på det er den rigtige kode du viser os? kunne det være et andet sted i den fil koden kommer fra? Prøv ent at kredese dig ind på det sted det går galt med debug-linier eg: midt i filen tilføjes en debug linie echo "midti filen<br>"; midt i første halvdel af filen echo "første kvartil<br>"; midt i anden halvdel echo "tredie kvartil<br>"; nu kan du køre scriptet igen og se hvilken fjerdedel af filen det sker i, den fjerdel kan du så undersøge igen med et nyt sæt debuglinier, osv.
12. februar 2005 - 14:12
#10
Ja, medmindre $row['id'] ligefrem indeholder: Resource id #5
12. februar 2005 - 14:13
#11
Det er hundrede procent den kode. Men jeg er kommet lidt videre. Det sker ved en af mysql_error´ne. Prøver lige din måde, og finde ud af hvilken.
12. februar 2005 - 14:14
#12
Det var den sidste : $fejl .= "\n " .mysql_error(); Er der så noget galt ?
12. februar 2005 - 14:16
#13
Jamen du udskriver jo ikke fejl. Er det i logfilen du mener?
12. februar 2005 - 14:17
#14
Men jeg kan i ævrigt heller ikke se du har brug for den sidste: $fejl .= "\n " .mysql_error();
12. februar 2005 - 14:18
#15
Ja det var i logfilen jeg kunne se det. Nej jeg kan vel bare fjerne den ? Hvem skal have points ?
12. februar 2005 - 14:20
#16
Næ den bliver ved :(
12. februar 2005 - 14:21
#17
Det er denne her: $res2 = mysql_query("SELECT * FROM send order by id asc"); Hvad er der galt med den ?
12. februar 2005 - 14:22
#18
Nu er jo netof variablen $fejl et sted hvor min måde at hitte ud af hvor det sker ikke duer. Den bliver bygget hen ad vejen uden at blive udskrevet, så hvis den tekst står i $fejl så vil vi altid se den til allersidst, selvom den måske blev lagt ind i $fejl oppe forrest i scriptet for at tage høde for den også kunne vi sige: echo "første kvartil - $fejl<br>"; echo "midti filen - $fejl<br>"; echo "tredie kvartil - $fejl<br>"; så vi ser hvordan $fejl ændres hen ad vejen.
12. februar 2005 - 14:24
#19
Prøv at rette: $status = $handle ."\n\ntid : " .$tid . "\nFejl opstod : " .$fejla ."\nFejltekster : " .$fejl .".\n"; til: $status = "\n\ntid : " .$tid . "\nFejl opstod : " .$fejla ."\nFejltekster : " .$fejl .".\n";
12. februar 2005 - 14:25
#20
Du beder den jo om at udskrive $handle, hvilket sikkert er: Resource id #5
12. februar 2005 - 14:26
#21
her er den: $status = $handle ."\n\ntid : " .$tid . "\nFejl opstod : " .$fejla ."\nFejltekster : " .$fejl .".\n"; ^^^^^^ variablen $handle er jo din filpeger labet med $handle = fopen($lognavn, "a+"); og det er opgså et 'resource id'
12. februar 2005 - 14:26
#22
<?php include("connect.php"); $lognavn= "../log/over" .date("j-m-y") .".txt"; $i=0; $fejla=0; $fejl=""; $status = ""; $res2 = mysql_query("SELECT * FROM send order by id asc"); echo " 0. " .mysql_error(); $handle = fopen($lognavn, "a+"); if (mysql_num_rows($res2) != 0) { while($row = mysql_fetch_array($res2)){ $kode = $row['id']; if ($row['type'] == "mail") { $res = mysql_query("SELECT * FROM adresser where firma = '" .$row['fra'] ."' AND mail !='none'"); if (mysql_num_rows($res) != 0){ while($row1 = mysql_fetch_array($res)) { $til = $row1['mail']; $fra = $row['fra']; $besked = $row['besked']; $res3 = mysql_query("INSERT INTO mail (til, afsendt, fra, besked) VALUES ('$til','0','$fra','$besked')"); echo " 1. " .mysql_error(); } $res1 = mysql_query("delete FROM send where id= '$kode'"); echo " 2. " .mysql_error(); } else { $fejla++; $fejl .= "\nIngen adresser fundet"; } } elseif ($row['type'] == "sms") { $res = mysql_query("SELECT * FROM adresser where firma = '" .$row['fra'] ."' AND sms !='none'"); if (mysql_num_rows($res) != 0){ while($row1 = mysql_fetch_array($res)) { $til = $row1['sms']; $fra = $row['fra']; $besked = $row['besked']; $res3 = mysql_query("INSERT INTO sms (til, afsendt, fra, besked) VALUES ('$til','0','$fra','$besked')"); echo " 3. " .mysql_error(); } $res1 = mysql_query("delete FROM send where id= '$kode'"); echo " 4. " .mysql_error(); } else { $fejla++; $fejl .= "\nIngen adresser fundet"; } } else { $fejla++; $fejl .= "\nHverken email eller SMS er valgt."; } } } else { $fejl .= "Ingen resultater"; } $tid = date("g:i:s"); $status = "\n\ntid : " .$tid . "\nFejl opstod : " .$fejla ."\nFejltekster : " .$fejl .".\n"; $handle1 = fwrite($handle, $status); ?> Den udskriver nu 0. Næsten det samme som din måde jakoba.
12. februar 2005 - 14:27
#23
^som allerede sagt :-))
12. februar 2005 - 14:29
#24
>> rasmus ja det det kan gøres på mange måder, og er ofte nyttigt. men det er nu not $handle det handler om, ikke noget med mysql som vi troede
12. februar 2005 - 14:30
#25
Jamen så må vi vel hellere smide nogle svar :O)
12. februar 2005 - 14:31
#26
svar!
12. februar 2005 - 14:32
#27
Ja men har rettet det.. Men det giver stadig 0. fejl. Og den ressource i logfilen :(
12. februar 2005 - 14:33
#28
Næ det virekr... Takker :D
12. februar 2005 - 14:35
#29
jakoba smid svargså
12. februar 2005 - 14:36
#30
ok
Vi tilbyder markedets bedste kurser inden for webudvikling