21. januar 2009 - 15:28
Der er
6 kommentarer og 2 løsninger
Mysql forespørgsel med php5
Jeg har her et gammel scripts som virker under php4, kan i oplyse mig om dette er en korrekt måde at hente data på ud fra et php5 perspektiv? f.eks. bør $headline altid være $_server['headline'] osv.? <? $result2 = mysql_query("select * from news where newsid='$newsid'"); while($row = mysql_fetch_array($result2)) { $headline = $row[headline]; $newsbody = $row[newsbody]; } ?> <?php echo "Overskriften"; ?> <p><?=$headline?></p> <?php echo "Nyheden"; ?> <p><?=$newsbody?></p>
Annonceindlæg fra Cognizant
21. januar 2009 - 15:35
#1
mysql extension er stadig valid i PHP 5 omend der er andre muligheder f.eks. mysqli extension. Det er absolut paenest at bruge '' omkring array indexes af type string. Det virker mystisk at hente $headline og $newsbody i en while og kun udskrive de sidste. Jeg kan ikek se hvor $_SERVER['headline'] kommer ind i billedet henne.
21. januar 2009 - 15:40
#2
Jeg tænke på om det er bedre at skrive: $result2 = mysql_query("select * from news where newsid='$newsid'"); while($row = mysql_fetch_array($result2)) { $_SERVER['headline'] = $row['headline']; $_SERVER['newsbody'] = $row['newsbody']; } <p><?=$_SERVER['headline'];?></p> <p><?=$_SERVER['newsbody'];?></p> Er der en bedre både en while? (der vil altid kun være et hit)
21. januar 2009 - 16:07
#5
Glem det der $_SERVER noget, det er nogle pre-definerede variabler som du ikke skal blande sammen med dine egne. Hvis der kun er et hit, kan du gøre sådan her: $result2 = mysql_query("select * from news where newsid='$newsid'"); if (mysql_num_rows($result2) == 1) { $row = mysql_fetch_assoc($result2); echo "<p>" . $row['headline'] . "</p>"; echo "<p>" . $row['newsbody'] . "</p>"; } else { echo "Ugyldigt nyhedsid!"; } Brug altid <?php ?> og ikke <? ?>, da det ikke vil virke hvis short tags ikke er tilladt (hvilket kan give problemer med XML tags).