2013-04-27 25 views
25

ile hazırlanmış deyimleri aoc hazırlanan ifadelerle.Aşağıdaki MySQL sorguyu yürütmek isteyen joker karakterlerle

/edit

Teşekkür ederiz. bindValue ile çalışma: Bu alternatif olabilir

$name = "%$name%"; 
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name"); 
$query->bindParam(':name', $name); 
$query->execute(); 
+3

- değiştir ' bindParam' için "bindValue" ve [PDO için hata bildirimi] 'yi açın (http://stackoverflow.com/questions/15990857/reference-frequently-asked-questions-about-pdo#15990858) –

cevap

23

Çok şekilde aşağıdaki bağlama param çalışabilirsiniz ilk denemede gelince

$className = '%' . $this->className . '%'; 
$query->bind_param('s', $className); 
+0

Bunun neden d n oy verdi, ancak bu çözümün de işe yaradığını lütfen unutmayın. :) – Sumoanand

+3

Sanırım downvot'landı çünkü eğer '$ name' bir joker karakteri içeriyorsa, bu durum kaçtı değil. –

+1

Zamanımı, DSN'de charset = utf8 olmaksızın harcadım, Tay karakteri ile arama yapıyorum. – ittgung

2

:

$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name"); 
$stmt->bindValue(':name', '%' . $name . '%'); 
$stmt->execute(); 
İlgili konular