मुझे कोडनिर्देशक के साथ एक अजीब समस्या है जहां मेरे एसक्यूएल डेटाबेस में कोई चयन आधारित पूछताछ नहीं हो रही है। मूल रूप से मेरे पास कुछ ऐसा था:

    public function __construct(){
        $this->load->database();
    }
    public function foo(){
         $this->db->query("SELECT * FROM 'table_name'");
         }

और जब Print_r के साथ निरीक्षण किया गया तो इसने एक खाली परिणाम सरणी लौटा दी। तो फिर मैंने स्विच किया:

    public function __construct(){
        $this->load->database();
    }
    public function foo(){
         $query = $this->db->get('tracker');
         print_r($this->db->last_query());
         print_r($query);
         }

$this->db->last_query ने मुझे दिखाया कि भले ही एक सही स्वरूपित कथन, 'table_name' से चुनें * का प्रयास किया जा रहा था, परिणाम सरणी में कुछ भी दिखाई नहीं दे रहा था। समस्या निवारण ने मुझे दिखाया है कि:

1. "$this->db->query("INSERT INTO Table VALUES"...) जैसे स्टेटमेंट अभी भी ठीक काम करते हैं।

  1. प्राप्त () के साथ भेजी जा रही SQL क्वेरी अभी भी phpmyadmin के SQL टैब पर काम करती हैं

  2. एसक्यूएल स्टेटमेंट डेटाबेस के माध्यम से हो रहे हैं क्योंकि मुझे एक mysqli conn_id वापस कर दिया गया है।

  3. ब्राउज़र बदलने और/या मैम्प को पुनः प्रारंभ करने से काम नहीं चलता।

अगर किसी को पहले यह समस्या हुई है या कुछ स्पष्ट दिखता है कि मुझे याद आ रही है तो मुझे जानकर बहुत खुशी होगी।

आपका अग्रिम में ही बहुत धन्यवाद!

मैट

0
Matthew Sciamanna 23 जुलाई 2017, 07:42

2 जवाब

सबसे बढ़िया उत्तर

एकल उद्धरणों में तालिका नाम का उपयोग करके निकालें।

public function foo()
{
     $query = $this->db->query("SELECT * FROM table_name");
     $result = $query->result_array();
     print_r($result);
}  

और संकलित क्वेरी उपयोग को देखने के लिए भी:

echo $this->db->get_compiled_select();
1
Shihas 23 जुलाई 2017, 08:09

आपके दोनों तरीकों के लिए आपको नीचे दिए गए record set की तरह प्राप्त करने की आवश्यकता है

विधि 1 : परिणाम को सरणी के रूप में प्राप्त करने के लिए result_array का उपयोग करें।

    public function foo(){
         $q= $this->db->query("SELECT * FROM 'table_name'");
         $result= $q->result_array();
         print_r($result);
    }

नोट: आप इसका उपयोग भी कर सकते हैं $result= $q->result(); आपको ऑब्जेक्ट के रूप में रिकॉर्ड सेट मिल जाएगा।

विधि २ :

      public function foo(){
         $query = $this->db->get('tracker');
         $result = $query->result_array();

         print_r($result );
         //print_r($this->db->last_query());

      }
1
JYoThI 23 जुलाई 2017, 08:23