2013-03-28 74 views
0

在我的php代碼中,我調用存儲過程之前正常SQL(鏈接:SELECT * FROM TABLE;)查詢運行。對於那個存儲過程運行,但普通SQL不能運行。在這兩種情況下,我都使用了mysql_query()。但是當我運行正常的SQL它運行兩個時間。在存儲過程調用後,SQL查詢無法運行php

我有一個類DATAMANAGER有請求mysql_query()

這裏是我的代碼:

require_once 'DL/DataManager.php'; 
require_once 'utils/Utils.php'; 
require_once 'DL/class/event/Event.php'; 
$Utils = new Utils(); 
$obj = new Event(); 

$result = array(); 

$result = $obj->get_all_event_data("NULL"); //Query = "CALL events_all_data(" . $ID . ");"; 

echo date("y-m-d h:i:s")."<br />"; 

echo $Utils->getString_UserName_ByUserID("23")."<br />"; // Not Run Query = SELECT `USER_NICK` FROM `USER_INFO` WHERE `USER_ID` ='".$string ."';"; 

DataManager.php

public function openConnection() 
{ 
    $this->connection = mysql_connect($this->HostName, $this->UserName, $this->PassWord); 
     if (!$this->connection) 
     { 
       return mysql_error(); 
     } 
     mysql_select_db($this->DataBase); 
     return $this->connection; 
} 

執行sql詢問

public function retrieveData($Query = "") 
{ 
    //$Query = mysql_real_escape_string($Query); 
    //echo "DB retriveData query : ".$Query. " <br />"; 
    $data = mysql_query($Query); 
    $num_rows = mysql_num_rows($data); 
    //echo "db ret number : ".$num_rows." asdas: ". "\n"; 


    if($num_rows) 
    { 
     $this->Data = array(); 
     //$i = 0; 
     while ($mat[] = mysql_fetch_row($data)); 
      //echo $mat[$i++][2]."<br />"; 
     $this->Data = $mat; 
     //print_r($this->Data); 
    //$result = $this->getArrayTranspose($mat); 
    } 
    else 
    { 
     $this->Data = NULL; 
    } 

    //return $result; 

} 

連接關閉

public function closeConnection() 
{ 
    if(!$this->connection) 
    { 
     mysql_close(); 

     return ; 
    } 
    else if($this->connection == NULL) 
    { 
     mysql_close(); 

     return ; 
    } 
    else if(!isset($this->connection)) 
    { 
     mysql_close(); 

     return ; 
    } 
    else if(is_resource($this->connection)) 
    { 
     mysql_close($this->connection); 
     return ; 
    } 
    else 
    { 
     //mysql_close(); 
    } 

} 
+0

哪個驅動程序用於連接mysqli/mysql? – Neo 2013-03-28 00:46:30

回答

1

在你的代碼沒有在任何地方提到的是$string 嘗試運行這樣的查詢來獲取錯誤代碼。

$mat=mysql_query($query) or die (mysql_error()); 

試試看吧。

+0

mysql_error()給我這個錯誤:命令不同步;您現在無法運行此命令 – asraful009 2013-03-30 07:21:57

+0

請參閱此[http://dev.mysql.com/doc/refman/5.0/zh-cn/commands-out-of-sync.html] – Saket 2013-04-29 14:51:37

0

Mysql錯誤是:命令不同步;您現在無法運行此命令