PHP mysql_connect isteklerini gözardı

8 Cevap php

I'm new to PHP and have installed on Linux to boot (also a newbie). Anyway, PHP is working...

<?
$myVar = "test";
echo($myVar);
?>

... Gayet güzel çalışıyor.

Ama ...

<?

$dbhost = "localhost";
$dbuser = "myuser";
$dbpass = "mypass";
$dbname = "mydb";

echo($dbhost . "-" . $dbuser . "-" . $dbpass . "-" . $dbname);

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to connect to MySQL");
print $conn;

mysql_close($conn);

phpInfo();
?>

... Hiçbir şey yok. Ne hatalar, hiçbir şey. Onun kod bile yok sanki.

Herhangi bir yardım?

8 Cevap

Aşağıdakileri deneyin:

  1. Öncelikle emin olun display_errors php yapılandırma dosyasında açıktır. (| E_STRICT error_reporting = E_ALL) Ayrıca error_reporting sıkı dahil tüm hataları göstermek için seviyesini ayarlayın. Değişiklikleri yaptıktan sonra, sizin web sunucusu yeniden başlatın.
  2. Run phpinfo(), ve mysql uzantısı yüklü ve çalışır durumda olduğunu kontrol edin. Eğer php yapılandırma dosyasında uncommented emin olun değilse (yine, yapılandırma dosyası için her değişiklikten sonra Apache'yi yeniden unutmayın).
  3. Bu noktada MySQL yüklenir ve çalışma, ve (bunu devam ederse) sorun ne hatadan söylemek gerekir olmalıdır.
  4. dumping bağlantı sonucu ($ conn) içeriği ne içerdiğini görmek için de deneyin.
  5. Genel olarak, ben (

Eğer bize gösteren konum daha fazla kod var mı? Var blok sadece bir bağlantı kurar. Sen hiç bir şey eğer başarılı olursa, size $conn bir şeyler yapmak için kullanmak zorunda görmezsiniz.

, Onaylamak kasten yanlış değere şifrenizi değiştirmeyi deneyin ve bir hata alırsanız o zaman görmek için. Bunu yaparsanız, kod gayet güzel çalışıyor.

Kodunuzu üstüne bu eklemeyi deneyin:

error_reporting(E_ALL);

Hiçbir şey yoksa, o ince bağlı anlamına gelmez? Ne çıktı bu ifadenin dışında bekliyorsunuz?

Eğer deneyebilirsiniz

error_reporting(E_ALL);
$conn = mysql_connect("localhost", "myusername", "mypassword");
if(!$conn) {
    echo 'Unable to connect';
} else {
    echo 'Connected to database';
}
var_dump($conn);

edit: "Başarıyı" görmüyorsanız eğer bir mysql sorgu kurulum var olduğunu söyleyerek yorum hitaben, bir şey sizin sorgu ile yanlış olduğu anlamına gelir. Yukarıdaki ekle

$sth = mysql_query("SELECT * FROM tablename");
if(!$sth) {
    echo 'unable to query: ' . mysql_error();
} else {
    echo 'success';
}

Ile bir veritabanına bağlanma

$conn = mysql_connect("localhost", "myusername", "mypassword") or die("Unable to connect");

Bağlantı başarıyla yapılmış olursa (visible( sonuçları olacaktır. Bu deyimi çalıştırdığınızda Ancak, bir kez sen veritabanına sorgular hale yapmak için diğer mysql fonksiyonlarını kullanabilirsiniz.

Bir veritabanına bağlanma programı "hey, ben bu veritabanına konuşmak istiyorum" söyler.

Bu kod bir db bağlantısı, başka bir şey yaratmak gerekiyordu. Ne görmek için bekliyorsunuz?

Bu deneyin

<?php
$conn = mysql_connect("localhost", "myusername", "mypassword") 
or die("Unable to connect");
print("code sample");

print $conn;

?>

Size "kaynak # 1" gibi bir şeyler yazdırmak gerekir ...

Ve sonra db sunucusu ile iletişim kurmak için bu bağlantıyı kullanabilirsiniz

Bu satırdan sonra yerleştirirseniz Yani var_dump ($ conn) bir çıkış olarak ne veriyor?

Belki sadece sizin için sorduk tam olarak ne yaptığını ve $ Bağlan bir bağlantı depolamak?