php diziye sonuçları bağlayıcı

2 Cevap php

Ben sorgudan sonuç almak ve tes.php sayfasında görüntülemek için aşağıdaki kodu çalışıyorum.

db.inc.php

<?php
function db_connect()
{
    $handle=new mysqli('localhost','rekandoa','rekandoa','rekandoa');
 if (!$handle)
{
       return false;
   }
return $handle;
}

function get_member()
{
    $handle=db_connect();
$sql="Select email,nama,alamat,kota,propinsi from users where email=?";
    $stmt=$handle->prepare($sql);
  $mail='yonghan79@gmail.com';
    $stmt->bind_param("s",$mail); 
 $stmt->execute();
  $stmt->bind_result($email,$nama,$alamat,$kota,$propinsi);
  $result=$stmt->fetch();
    return $result;
}
?>

tes.php

<?php
error_reporting(E_ALL & ~E_NOTICE);
include('db.inc.php');
$w=get_member();
echo $w['member_id'];
echo '<br>';
echo $w['email'];
echo '<br>';
echo $w['status'];
echo '<br>';
?>

Ben sadece bir boş sayfa, hiçbir hata mesajı aldım ama sonuç gösterilmemiştir.

Yanlış ne yaptım?

2 Cevap

fetch() itself doesnt return an array it returns a boolean indicating wheter it got a row. thus you can do:

while($stmt->fetch()) {
     //$email,$nama,$alamat,$kota,$propinsi are now filled
}

(soulmerge çözümü aksine) dinamik bir diziye değerleri bağlama biraz daha zanaat alır. Ben oluşturulan bir Database class o yapar sadece. Bu mysqli sütunları seçin nesne üzerinde özellikleri olarak hareket nesneler olarak sonuçlarını döndürmek için tablolarını civarı bir sarıcı olarak görür. Eğer sınıfta itiraz kadrosunu alırsanız istediğiniz gibi diziler dönecektir.

$stmt->bind_result($email,$nama,$alamat,$kota,$propinsi);

Yukarıdaki satır sonuçlar sağlayan değişkenler saklanır emin olacaktır. fetch() function returns TRUE veya FALSE - Sorgu gerçek sonuç, başarılı olup olmadığı. Sen gibi bir şey gerekir

return array(
    'email'    => $email,
    'nama'     => $nama,
    'alamat'   => $alamat,
    'kota'     => $kota,
    'propinsi' => $propinsi);