Neden ($ satır) print_r olacaktı;

3 Cevap php

Ben PHP5 öğrenmeye çalışıyorum ve onunla bir çift sorunlar yaşıyorum. Ben hazırlanmış tablolar ile çalışıyorum ve aşağıdaki kodu çalıştırmak çalışıyorum:

<?php
require_once 'includes/config.php';

$conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or 
die('There was a problem connecting to the database.');

$query = "SELECT * FROM user_table";

	if($stmt = $conn->prepare($query)) {
		$stmt->execute();

		while ($row = $stmt->fetch()) {
    		print_r ($row);
		}

	}

?>

Ben her bir id, Login_name, login_password ve bir login_level içeren dönmelidir 2 satır var.

Deyimi çalıştığında sadece aşağıdaki yazdırır:

11

Herhangi bir yardım büyük mutluluk duyacağız.

3 Cevap

fetch() yöntem döndürür TRUE, FALSE, ya da NULL bu verileri getiriliyor başarılı olup olmamasına bağlı. Bir dizideki verileri dönmez. Bunun yerine, bind_result() yöntemi ile bağlanmış değişken sonuçları yerleştirir.

1 PHP DOĞRU çünkü 1 döndürür.

Ne yapmalıyım [bind_result][1] yöntemi ile bir değişken bağlamak ve daha sonra yapmaktır:

while ($stmt->fetch()) {
    printf ("%s\n", $variable);
}

Harika bir örnek bind result documentation page. üzerinde

Bu yolu ilk önce bu gibi sonuç değişkenleri bağlamak gerektiğini elde edebilmek için:

$stmt->execute();

// bind the result variables in order 
$stmt->bind_result($id, $login_name, $login_password, $login_level);

// then get results
while ($stmt->fetch()) {
    var_dump($id, $login_name, $login_password, $login_level);
}