2013-03-28 76 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错误是:命令不同步;您现在无法运行此命令