• Kodlama alışkanlıklarını değiştirmeye çalışıyorum ve en azından SQL Enjeksiyonlarını önlemek istiyorum. Bununla birlikte, hala bir sorgu oluştururken parametreler veya sözdizimi hakkında kafa karıştırıyorum. Örneğin,PDO kullanarak değerler ekleme
$q = //LINE 1 "insert into tblProject(projectName, projectLocation, projectType, projectStatus) //LINE 2 values(:projectName, :projectLocation, :projectType, :projectStatus);";
Ben ilk satırı, ne 'LINE 2
yılında ise veritabanındaki sütun adı ile ilişkili olduğuna inanıyoruz:" aracı ve ne yapar values()
içindeki değerleri yapar Nerede ? referanslar mu o, örneğin, ben ilan değişkene $projectName = $_POST['projectName'];
atıfta o başka soru en örnek olarak bu kodu kullanalım tüm bu ...->execute(array(...));
hakkındadır • $ ProjeAdı veya $_POST['projectName']
içindeki değere bakın mu.?:
$results = $query->execute(array(
":projectName" => $projectName,
":projectLocation" => $projectLocation,
":projectType" => $projectType,
":projectStatus" => $projectStatus
));
Kısaca açıklayabilir misiniz ama ne yapar? Ve ayrıca, nerede :projectName
ve benzeri .. Nereden geldi veya nereden kaynaklanıyor?
• Bir dizi kullanır(). Bu nedenle, yalnızca tek bir değeri güncelleştirip eklemek ve execute(array())
kullanıyor olsaydım, bu bana herhangi bir hata verir mi?
Çok fazla soru soruyorum, burada cevapların çoğunu bulabileceğim iyi referanslar var mı?
Şimdiden teşekkürler.
PDO ile hem adlandırılmış': someName 'hem de adlandırılmamış '' 'yer tutucuları kullanabilirsiniz. Bunlar basitçe yürütmeye geçirdiğiniz değerlerle değiştirilecektir. Daha fazla bilgiyi şu belgede okuyabilirsiniz: http://php.net/manual/en/pdo.prepare.php – JimL