16. august 2010 - 13:10
Der er
9 kommentarer og 1 løsning
PHP problem
Hej Eksperter, Når jeg kører nedenstående kode, kommer der denne fejl. Kan i hjælpe mig med hvad det skyldes ? Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in $tsql = "SELECT * FROM tbl"; $stmt = sqlsrv_query( $conn, $tsql); while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) { // Antal emner tilbage $result = sqlsrv_query($conn, "SELECT count(*) FROM tbl_c"); $count = sqlsrv_fetch_array($result); Print ("<tr><td><a href=\"d.php?p=".$row["id"]."\">".$row["name"]."</a></td>"); Print ("<td>0</td><td>0</td><td>$count[0]</td><td>0</td>"); } Print ("</tr></table>"); }
Annonceindlæg tema
Cloud & AI
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
16. august 2010 - 13:32
#1
Har du en lovlig $conn ? Prøv at skrive den ud, med fx print_r($conn);
16. august 2010 - 13:34
#2
Eller hov: du laver to samtidige forespørgsler på samme connection. Må man det?
16. august 2010 - 13:37
#3
Jeg har conn - Jeg har en if($conn) { } else { echo "Connection could not be established.\n"; } Jeg får resultat i den nederste, men alle andre er tomme. Det er meget underligt.
16. august 2010 - 13:40
#4
Du prøver bare med 2 connections
16. august 2010 - 13:47
#5
Skal $count = sqlsrv_fetch_array($result); evt. være: $count = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)); ? I øvrigt kunne du vel egentlig flytte // Antal emner tilbage $result = sqlsrv_query($conn, "SELECT count(*) FROM tbl_c"); $count = sqlsrv_fetch_array($result); uden for din while løkke, ellers bliver den jo udført ligeså mange gange som der er records i dit datasæt for SELECT * FROM tbl
16. august 2010 - 15:13
#6
Der skulle 2 forskellige conn til :) Mange tak for hjælpen. Smid et svar og du får point.
16. august 2010 - 15:22
#7
Nej tak. Men du skal nu lære at gøre det smartere. Det ser ud til at det du ønsker at få ud af databasen kan klares med en JOIN og en GROUP BY. Tænk over det .... så har du en meget mere effektiv løsning.
16. august 2010 - 15:27
#8
Har du mulighed for at give mig et lille eks ?
16. august 2010 - 17:11
#9
Noget i retning af, ikke prøvet: select id,name,count(*) from tbl join tbl_c on tbl_c.customer_id=tbl.id GROUP ON id,name (taget fra det andet spørgsmål)
16. august 2010 - 20:23
#10
Jeg kigger på det. Tak
Kurser inden for grundlæggende programmering