2016-02-05 8 views
5

'u seçiyorum Şu anda MySql'i öğreniyorum, ancak bu soruna eriştim. aşağıdaki kod, kullanıcı tablosundaki her şey için db'yi sorgulamalıdır. ancak bu hatayı döndürür. Bana hiç yardımcı olmayan Error: SELECT * FROM users. Veritabanına bir öğeyi başarılı bir şekilde ekleyebildim, ancak bunu seçemiyorum. Ayrıca $sql = "SELECT * FROM ama.users"; denedim benim DB yapısıHata mysql'den üretildi

ama 
|-users 

herhangi bir yardım çok takdir olduğunu.

$conn = new mysqli($_ENV['OPENSHIFT_MYSQL_DB_HOST'],$_ENV['OPENSHIFT_MYSQL_DB_USERNAME'], $_ENV['OPENSHIFT_MYSQL_DB_PASSWORD'], 'ama'); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$username = "Doe"; 
$password = "johnexample"; 
$sql = "SELECT * FROM users"; 
if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
+0

ekleyin

Yani veri türünü (===) kontrol etmeden kullanabilirsiniz – Jens

+0

@Jens tam hata mesajı, bana daha fazla kimlik verdiyse daha iyi hata ayıklayabiliyorsa bana verdiği tam hata mesajı. – hurnhu

+1

Doing === DOĞRU bir seçim üzerinde çalışmaz, çünkü bir kaynak nesnesi döndürür veya boş. Yani == DOĞRU çalışmalıdır. === sıkı bir tip kontrolüdür, yani bir boolean olmalı ve bir kaynak nesne bir boole değildir. – Asperon

cevap

5

$ sonucu satırları kontrol PHP Manual:

mysqli :: sorgu başarısında nesneyi döndürmek ve yanlış dönecektir başarısızlık durumunda. Eğer var_dump() kullanın ve benzeri alıyorsanız ne olduğunu kontrol edebilirsiniz daha iyi anlamak için

if ($conn->query($sql)) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

:

var_dump($conn->query($sql)); 
1

Documentation diyor ki: başarısızlık üzerine

döndürür YANLIŞ. SELECT, SHOW, DESCRIBE veya EXPLAIN sorguları için mysqli_query() öğesi bir mysqli_result nesnesi döndürür. Diğer başarılı sorgular için mysqli_query(), TRUE değerini döndürür.

Yani,

$result= $db->query($sql); 

böyle bir şey yapmak ve O andan itibaren