11

我(希望)这是一个非常直截了当的问题,关于 PHP/MySQL 遗漏了什么。首先,计算机是 Windows 7 机器并且运行 XAMPP(Apache、PHP、MySQL 等)——没有 Windows/IIS 等。

这些机器很快,PHP 和 MySQL 运行速度超快。但是,有一台机器与 PHP 和 MySQL 一起工作的方式是某种延迟 - 具体来说,它本质上是 3 秒。实际上,如果您删除代码正在执行的所有操作,那么它只会像这样设置其连接:

$db = new mysqli($hostname, $username, $password, $database);

...并且没有查询或任何东西 - 只是设置对象的这条 PHP 行,它需要 3 秒。

相比之下,您注释掉这一行,页面是即时的。

无论如何,为什么会这样?看起来没有什么问题,确切地说,只是以某种方式设置了我们想要摆脱的这 3 秒。谢谢!

4

2 回答 2

10

如果这是在本地托管并且您使用的是 localhost 这将是您的问题,请尝试使用

$db = new mysqli('127.0.0.1', $username, $password, $database);

这是因为如何MYSQLI处理 localhost 和IPV6.

于 2013-03-19T23:14:46.883 回答
-2
$orig = $_GET['orig'];
$des_id = $_GET['des_id'];
try {
    $dbuser = "kim";
    $dbpass = "kim";
    $conn = new  PDO('mysql:host=localhost;dbname=destination', $dbuser, $dbpass);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
    $stmt = $conn->prepare("SELECT pl_id FROM view_places WHERE name = :name LIMIT 1");

    $stmt->bindParam(':name',$orig); 
    $stmt->execute();
    $result_1 = $stmt -> fetch();
    $res1 = $result_1["pl_id"];  

    $stmt->bindParam(':name', $des_id); 
    $stmt->execute(); 
    $result_2 = $stmt -> fetch(); 
        $res2 = $result_2["pl_id"];  
        echo   'origin_number:'.$res1. ', '.'destination_id:'.$res2;
    }   catch(PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
    }
于 2013-08-07T12:35:05.230 回答