sadece MYSQL veritabanından veri 1 satır alınıyor

0 Cevap php

Ben bir formu ile veri girişi çoklu parçalar çalışıyorum ve tüm verileri (,) ile ayrılır. Ben bir sql sorgusu yoluyla işlenmesi için ilgili id ​​bulmak için bu verileri kullanmayı planlıyor.

Aşağıda kullanmak kodudur.

$key_code = explode(",", $keyword); 
 //$key_count = count($key_code);
 $list = "'". implode("','", $key_code) ."'";
 //$row_count = '';
 $sql4= "SELECT key_id FROM keyword WHERE key_code IN (".$list.")";
 if(!$result4 = mysql_query($sql4, $connect)) {
 mysql_close($connect);
 $error = true;
 }else{
  //$i = 0;
  while($row = mysql_fetch_array($result4)) {
  $keyword_id[] = $row['key_id'];
   //$i++;
   } 
   //return $keyword_id;   
  }

I görmek Sorun keyword_id [0] herhangi bir veri içeren tek unsur (veri doğru) olmasıdır. Bile yukarıda belirtilen formu ile ben giriş çoklu değerleri.

Ben sql bir hata olabileceğini düşündüm ama ben echo'ed ve bu gibi görünüyor:

SELECT key_id FROM keyword WHERE key_code IN ('WED','WATER','WASTE')

Parantez içindeki değerler, ben girilen tam olarak ne vardır.

Hatta sorgu tarafından iade ediliyor kaç satır anlamaya çalıştım ve sadece 1 gösterir. Ben bir şey benim sorgu yanlış olduğunu varsayalım ama nerede bilemiyorum.

Herhangi bir yardım büyük takdir edilecektir.

Edit : Alright Solved the problem. Ben mysql konsoluna sitesinde echo'ed vardı $ sql_query kopyalanıp yapıştırılan yapılan önerileri sayesinde; ki alınırken sadece 1 satır ile sonuçlanmıştır. Bir daha yakından bakmak aldıktan sonra ben arasında bir boşluk 've ikinci kelime olduğunu fark etti. Ben ne zaman giriş key_code olarak sorun başlar inanıyoruz:

ÇAR, SU, ATIK

Bunun yerine olarak girilmesi

ÇAR, SU, ATIK

sorununu giderir. Ben olsa her iki yönde çalışır böylece bunu yapmak gerektiğini düşünüyorum.

Neyse, yardım için teşekkür ederim.

0 Cevap