2013-03-19 29 views
11

I (umut) PHP/MySQL için nelerin kaçırıldığına dair çok basit bir soru. İlk olarak, bilgisayarlar Windows 7 makinelerdir ve XAMPP (Apache, PHP, MySQL, vb.) Çalıştırıyorlar - Windows/IIS, vb. Yok.PHP yavaş yavaş mysqli

Makineler hızlıdır, PHP & MySQL süper hızlı çalışıyor. Ancak, PHP & MySQL ile çalışma şeklinin bir tür gecikme olduğunu - özellikle de 3 saniyedir. Aslında, kod böyle olan bağlantısını kurma daha hiçbir şey yapmadan böylece yapıyor HERŞEYİ kaldırırsanız: - Sadece bu PHP hat setleri

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

... ve hiçbir sorgu veya bir şey var mı Nesne yukarı, tam olarak 3 saniye sürer.

Bu satırı yorumlayın, tersine ve sayfa anında. Her neyse, bu neden oluyor? Hiçbir şey yanlış gibi görünmüyor, tam olarak, sadece bir şekilde kurtulmak istediğimiz bu 3 saniyede kuruyoruz. Teşekkürler!

+2

Mysql sunucusu makine ile aynı ana bilgisayarda mı? –

+0

mysql'yi bağlamak için localhost veya bilgisayarın genel IP ağını mı kullanıyorsunuz? – Sebas

+0

Bağlanıyor mu? –

cevap

9

bu yerel olarak barındırılan ve localhost Bu sorun olacak kullanıyorsanız,

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

Bunun nedeni MYSQLI localhost'u ve IPV6 nasıl işleyeceğini taşımaktadır kullanmayı deneyin.

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

Tabi ki, PDO'nun neden daha hızlı bağlanacağını açıklayan bir * nedeni * var. –

+0

PDO desteği Hazırlanan ifadeler (istemci tarafı) mysqli, – jake

+0

değil MySQLi üzerinden PDO'nun temel avantajı, veritabanı sürücüsü desteğidir. Bu yazı yazıldığı sırada PDO, MySQLi'ye karşı sadece MySQL'i destekleyen 12 farklı sürücüyü destekliyor. – jake