sql >> Database >  >> RDS >> Mysql

Proberen opgeslagen procedures te 'aanroepen' met CodeIgniter

Voor het geval het iemand helpt. Ik gebruik deze bibliotheek om te werken met opgeslagen procedures in CI, het ondersteunt ook meerdere resultaatsets.

hier is de code

Ik noem het Mydb.php

<?php #if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Mydb
{
   private $CI, $Data, $mysqli, $ResultSet;

   /**
   * The constructor
   */

   function __construct()
   {
     $this->CI =& get_instance();
     $this->Data = '';
     $this->ResultSet = array();
     $this->mysqli = $this->CI->db->conn_id;
   }

    public function GetMultiResults($SqlCommand)
    {
    /* execute multi query */
    if (mysqli_multi_query($this->mysqli, $SqlCommand)) {
        $i=0;
        do
        {

             if ($result = $this->mysqli->store_result()) 
             {
                while ($row = $result->fetch_assoc())
                {
                    $this->Data[$i][] = $row;
                }
                mysqli_free_result($result);
             }
            $i++; 
        }
        while ($this->mysqli->next_result());
    }
    return $this->Data;

   }   
}
?>  

noem het zo van de controller

$this->load->library('mydb');
$arr  = $this->mydb->GetMultiResults("CALL GetReferrals()");

Zorg er ook voor dat u mysqli . instelt het stuurprogramma in application/config/database.php

$db['default']['dbdriver'] = 'mysqli';


  1. MySQL:ERROR 1215 (HY000):Kan geen beperking voor externe sleutels toevoegen

  2. INET_ATON() en INET_NTOA() in PHP?

  3. MySQL - Bestelquery en toon een willekeurige rij bovenaan

  4. Rollen en rolattributen beheren in PostgreSQL