2009-11-18 20 views
9

एक mysql परिणाम सेट के माध्यम से लूप करने के कुछ अलग तरीके क्या हैं? मैं PHP और MySQL के लिए नया हूं इसलिए मैं लूप के माध्यम से सरल तरीके और एक स्पष्टीकरण की तलाश कर रहा हूं कि प्रदान किया गया कोड कैसे काम करता है।एक mysql परिणाम सेट के माध्यम से लूप कैसे करें

उत्तर

5

यहाँ एक पूर्ण उदाहरण है:

http://php.net/manual/en/mysqli-result.fetch-array.php

  1. कनेक्ट
  2. डेटाबेस
  3. मेक क्वेरी
  4. परिणाम पर साइकिल और सरणी लाने पंक्ति
पाने के लिए
  • करें
  • +0

    ध्यान देने योग्य एक बात: mysql_query FALSE लौटा सकता है, जो php.net उदाहरण में जबकि लूप विफल हो जाएगा। तो, पहले 'if' करें (जैसे गेब्रियल सोसा के जवाब में)। इसके अलावा, php.net पृष्ठ पर उदाहरण कोड अच्छा है। – nash

    +0

    बिल्कुल जो मैं खोज रहा हूं, महान उदाहरण! –

    +0

    यह उदाहरण अब php7 में मान्य नहीं है। यहां mysqli के साथ कुछ उदाहरण दिए गए हैं: http://php.net/mysqli-stmt.fetch – youcantexplainthat

    15

    पहला ई XAMPLE है कि मेरे दिमाग में आता है:

    <?php 
    
        $link = mysql_connect(/*arguments here*/); 
    
        $query = sprintf("select * from table"); 
    
        $result = mysql_query($query, $link); 
    
        if ($result) { 
         while($row = mysql_fetch_array($result)) { 
         // do something with the $row 
         } 
    
        } 
        else { 
         echo mysql_error(); 
        } 
    ?> 
    
    1

    मैं एक डेटाबेस समारोह है कि अपने डेटाबेस लाने के लिए एक आवरण के रूप में कार्य बनाने की सलाह देते हैं। डेटाबेस फ़ंक्शन कॉल को स्विच करना और यहां तक ​​कि, सड़क के नीचे, डेटाबेस का प्रकार (उदा। Mysql-> postgresql या mysql-> couchdb या पीडीओ ऑब्जेक्ट या कुछ का उपयोग करना) को आसान बनाता है।

    कुछ फ़ंक्शन जो -उ-बनाते हैं जो एक क्वेरी लेते हैं और पूरी तरह से सहयोगी सरणी देता है, और फिर आप वहां डेटाबेस कनेक्शन कोड चिपकाते हैं।

    यह भी सड़क के नीचे PDO का उपयोग करते हुए जांच करने के लिए अच्छा हो सकता है, क्योंकि यह आप के लिए डेटाबेस विशिष्ट कार्यों दूर एब्सट्रैक्ट, mysql, PostgreSQL, आदि

    4

    के साथ काम कर आप MySQL संस्करण 4.1 उपयोग कर रहे हैं। 3 या बाद में, it is strongly recommended कि आप mysqli एक्सटेंशन का उपयोग करते हैं [mysql एक्सटेंशन जो आगे विकसित नहीं है, MySQL 4.1+ की सुविधाओं का समर्थन नहीं करता है, कोई तैयार नहीं है और एकाधिक कथन, कोई ऑब्जेक्ट-उन्मुख इंटरफ़ेस नहीं है। ..]

    एक mysqli परिणाम सेट पर लूप करने के लिए प्रक्रियात्मक और ऑब्जेक्ट उन्मुख तरीकों के लिए mysqli-stmt.fetch देखें।

    +0

    मैं mysqli एक्सटेंशन से परिचित हूं और इसका उपयोग करने के बारे में जानता हूं, लेकिन यह नहीं पता था कि जब तक आपने समझाया नहीं, धन्यवाद! –

    3
    <?php 
    $servername = "localhost"; 
    $username = "username"; 
    $password = "password"; 
    $dbname = "myDB"; 
    
    $conn = new mysqli($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
    
    $sql = "SELECT * FROM table"; 
    $result = $conn->query($sql); 
    
    if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
    ?> 
    //Loop Content... Example:- 
    
    **<li><?php echo $row[name]; ?></li>** 
    
    <?php 
    }}; 
    ?> 
    
    संबंधित मुद्दे