簡體   English   中英

在php中進行存儲過程調用后,SQL查詢無法運行

[英]SQL Query can not run after stored-procedure call in php

在我的PHP代碼中,我在普通SQL之前調用存儲過程(鏈接:SELECT * FROM TABLE ;)查詢運行。 對於該存儲過程運行,但普通SQL無法運行。 在兩種情況下,我都使用mysql_query()。 但是,當我運行普通的SQL時,它將同時運行。

我有一個類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();
    }

}

在您的代碼中,沒有任何地方提到$string是什么。嘗試像這樣運行查詢以獲取錯誤代碼。

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

試試看。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM