1

私のphpコードでは、通常のSQLの前にストアドプロシージャを呼び出します(リンク:SELECT * FROM TABLE;)クエリを実行します。そのストアド プロシージャは実行されますが、通常の SQL は実行できません。どちらの場合も mysql_query() を使用します。しかし、通常のSQLを実行すると、両方の時間が実行されます。

mysql_query() を持つクラス dataManager があります

ここに私のコードがあります:

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();
    }

}
4

2 に答える 2

1

In your code you did not mention anywhere that what is $string Try to run query like this to get error code.

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

Give it a try.

于 2013-03-28T06:44:46.247 に答える