2016-10-12 7 views
-1

только 1 поле не возвращается, остальное возвращается правильноMySQLi запрос SELECT * не возвращает определенное поле

проблема, я использовал тот же запрос на другой странице и он вернулся всё будет хорошо

проблематичный PHP:

$sql=mysqli_query($con,"SELECT * FROM produk INNER JOIN kategori ON produk.id_kategori=kategori.id_kategori WHERE id_produk='$_GET[id]'"); 
$r=mysqli_fetch_array($sql); 

echo"judul produk : $r[nama_produk] <br /> 
     nama kategori : $r[nama_kategori]<br /> 
     judul gambar : $r[gambar]"; 

результаты:

judul Produk: тест Mesin

Kyocera

нама Категория: Kyocera

judul Гамбар:

другой PHP, используется на другой странице, которая в значительной степени то же самое, но работает отлично:

$sql=mysqli_query($con,"SELECT * FROM produk INNER JOIN kategori2 ON produk.id_kategori2=kategori2.id_kategori2 ORDER BY rand() DESC LIMIT 25"); 
while($r=mysqli_fetch_array($sql)){ 
include "diskon_stok.php"; 
    echo" 
    <div class='container_produk'> 
     <div class='preview'> 
      <span style='font-size : 22px'>$r[nama_kategori2]</span> 
      <span style='font-size : 14px'>$r[preview]</span> 
      <button class='pre-button'><a href='produk-$r[id_produk]-$r[nama_produk].html'>Detail</a></button> 
     </div> 
     <img style='margin-left : 5%;' src='foto_produk/small_$r[gambar]'/> 
     <div class='detail'> 
      <span style='font-size : 22px'>$r[nama_produk]</span> 
      $divharga 
      <br /> 
      <br /> 
     </div> 

    </div> 
"; 
} 

теперь поле не возвращенное $ г [ gambar] по коду 1, но на Code 2 $ r [gambar] возвращается, и, таким образом, изображение отображается в браузере

Так что я сделал что-то не так?

+1

вы присоединяетесь другую таблицу в вашем втором запросе. вы должны запустить оба запроса в phpmyadmin или в консоли mysql и проверить, действительно ли вы получаете данные для обоих - возможно, в вашем первом запросе, gambar - всего лишь NULL? также: $ r [gambar] - это плохой стиль и должен вызывать предупреждения, а параметр _GET непосредственно в вашей строке запроса - огромный риск для SQL-инъекций. –

+0

вы использовали две разные таблицы, см. Это в 1-м запросе 'INNER JOIN kategori', но 2-й стол' INNER JOIN kategori2'. также эхо ваш запрос и запустить в консоли и chec выход. номер '2' включен – Karthi

+0

второй запрос в порядке, все во втором запросе правильно возвращается проблема в первом запросе, который проще второго, но 1 поле не возвращается, остальная часть поля возвращается – Citra45Abadi

ответ

0

оказывается мой запрос неправильно

должно быть написано, как этот

$sql=mysqli_query($con,"SELECT * FROM produk,kategori WHERE produk.id_kategori=kategori.id_kategori AND id_produk='$_GET[id]'"); 
$r=mysqli_fetch_array($sql); 

нет необходимости вводить INNER JOIN или JOIN