SQL sorgusu içinde bir oturum değerini çizim?

2 Cevap php

benim web sayfalarının birinde ben onları (bizzat) atanan tüm etkinlikleri görmek benim yöneticisi kullanıcı istiyoruz. Bunu yapmak için, ben böyle bir şey gerekiyor:

$sql = "SELECT * FROM activities WHERE manager = $_SESSION['SESS_FULLNAME']";

Şimdi tabii ki bu sözdizimi tüm yanlış, ama bu şeyler yeni duyuyorum, çünkü ben bir sorgu içinde bir kullanıcının oturumuna tam adı çağırabilirsiniz bir yolu var mı? Bu, böylece ben, web sayfası içinde görüntülenir kaydedilir yöneticisi sadece faaliyetlerini görüntülenecek veritabanı değerleri çağırdığımda. Örneğin, faaliyetler tablo tam adı giriş yöneticisi sütun vardır. Herhangi bir yardım çok takdir. Teşekkürler.

2 Cevap

$sql = "SELECT * FROM activities WHERE manager = '".$_SESSION['SESS_FULLNAME']."'";

Eğer alıntı kullanmanız gereken bir sorguda değişkenleri kullanmak için ...

' sorguda bir dizeyi tanımlamak için kullanın ..

ie. if manager is a number use WHERE manager = ".$_SESSION['SESS_FULLNAME'] (without ')
if manager is a string WHERE manager = '".$_SESSION['SESS_FULLNAME']."'

Aslında, dize "ayrılmak" zorunda değilsiniz. Bunu daha kolay yapabilirsiniz:

$sql = "SELECT * FROM activities WHERE manager = {$_SESSION['SESS_FULLNAME']}";

PHP's double-quoted string syntax daha fazla bilgi için bkz.

O dedi, birini kullanın lütfen prepared statements veya dinamik parametreleri ile uğraşırken (tercih bu sırayla) değişkenleri kaçtı.