Kullanıcı bir linke tıklayın farklı bir sayfadan bu sayfaya gelir ve bir ?photo_id=
ve ardından id numarası ile eklenir. Ben bu sayfaya geldiğinde belli bilgilerin izleyiciye kullanılabilir olmasını istiyorsanız.
Onları fotoğraf, fotoğraf adı ve fotoğrafçılar adını görmek mümkün istiyorum. İlk iki çünkü photo_id
, photo_filename
, bir sorun değildir, ve photo_title
aynı tabloda tüm vardır. Ben sorunlarla karşılaştığınızda kısa sürede photographers
adı verilen farklı bir masaya üzerinde bu fotoğraf hakkında bilgi almak için çalışırken, bu.
İşte benim kod:
$sql = 'SELECT photos.photo_id, photos.photo_title, photos.photo_filename, photos.photographer_id, photographers.photographer_id, photographers.photographer_name
FROM photos
LEFT JOIN photographers ON photos.photographer_id = photographers.photographer_id
WHERE photo_id = ?';
//initialize prepared statement
$stmt = $conn->stmt_init();
if ($stmt->prepare($sql)) {
$stmt->bind_param('i', $_GET['photo_id']);
$stmt->bind_result($photo_id, $photo_title, $photo_filename, $photographer_id);
$OK = $stmt->execute();
$stmt->fetch();
}
İlk üç değişken ($photo_id
, $photo_title
, ve $photo_filename
) ince iş ve ben sayfamda onları yankı, ama eklenen diğer değişkenlerin Böyle photographers.photographer_id
ve photographers.photographer_name
, farklı bir tablo olarak LEFTJOIN, çalışmaz. Bunu bilmek olduğu gibi, sayfa tamamen ben SELECT satırında ekstra sütun adlarını eklerim zaman kırar.
Ben bind_result()
işlevi değişkenlerin miktarı ile ilgili bir şey vardır bir his var. Ben onlar SELECT satırında belirtilen sütun sayısıyla eşleşmesi gerektiğini düşünüyorum, ama gerçekten her biri için bir değişken oluşturmak istemiyorum.
Herkes bana yardımcı olabilir misiniz?