0

初心者ですので、知識の乏しさをお許しください。私はPHPでクラスを持っています。それはいくつかのデータベースの仕事をします。しかし、結果を配列として取得できませんでした。

public function __construct($sunucu, $kullaniciAdi, $kullaniciSifre, $veritabaniAdi){
$this->_baglanti= mysql_connect($sunucu, $kullaniciAdi,$kullaniciSifre);
mysql_select_db($veritabaniAdi,$this->_baglanti);
}

public function baglantiyiKopar(){
mysql_close($this->_baglanti);
}

public function sorgula($sorgu){
$this->_donenSonuclar = mysql_query($sorgu, $this->_baglanti);
$this->_satirSayisi = mysql_num_rows($this->_donenSonuclar) ;
}

public function satirSayisi(){
return $this->_satirSayisi;
}

public function satirlar(){
$satirlar = array();
for($st=0;$st< $this->_satirSayisi;$st++){
$satirlar = mysql_fetch_assoc($this->_donenSonuclar);
}
return $satirlar;
}
}
?>
4

2 に答える 2

2

この関数を意味すると仮定すると、少し変更する必要があります。

public function satirlar(){
  $satirlar = array();
  for($st=0;$st< $this->_satirSayisi;$st++){
    $satirlar[] = mysql_fetch_assoc($this->_donenSonuclar);
             ^^ add a new entry to the array instead of overwriting the existing one
  }
  return $satirlar;
}

また、mysql_*関数は非推奨であり、準備されたステートメントとバインドされた変数を使用して PDO (または mysqli) に切り替えることをお勧めします。

于 2013-02-19T13:05:35.703 に答える
1
public function satirlar(){
  $satirlar = array();
  for($st=0;$st< $this->_satirSayisi;$st++){
    $satirlar[$st] = mysql_fetch_assoc($this->_donenSonuclar);
  }
  return $satirlar;
}
于 2013-02-19T13:09:06.720 に答える