Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Próba „wywołania” procedur składowanych za pomocą CodeIgniter

Na wypadek, gdyby to komuś pomogło. Używam tej biblioteki do pracy z procedurami składowanymi w CI, obsługuje ona również wiele zestawów wyników.

oto kod

Nazywam to 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;

   }   
}
?>  

nazwij to tak z kontrolera

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

Upewnij się również, że ustawiłeś mysqli sterownikw application/config/database.php

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można wydać instrukcji manipulacji danymi za pomocą executeQuery()

  2. Jak połączyć się z MySQL za pomocą Perla?

  3. Łączenie się z instancją Amazon RDS przez instancję EC2 za pomocą MySQL Workbench

  4. Błąd podczas usuwania bazy danych (nie można rmdir '.test\', errno:17)

  5. PHP zmienia stare mysql_query na PDO