我想第一次使用一些PDO准备语句来防止SQL注入。我对SQL很陌生,所以准备好的语句对我来说非常困惑。你认为我准备好的SQL语句是正确的吗?PDO准备的语句正确吗?
<?php
if ($_SERVER["REQUEST_METHOD"] == 'POST') {
$suche = htmlspecialchars($_POST['suche']);
$stmt->bindParam(':suche', $suche);
if (!empty($suche)) {
$sql = new rex_sql;
$sql->debugsql = 0;
$stmt = $sql->prepare("SELECT * FROM rex_downloads WHERE dateiname LIKE '%:suche%' OR projektnummer LIKE '%:suche%' OR teilnehmer LIKE '%:suche%'");
$stmt->execute();
if ($sql->getRows() >= 1) {
for($i = 1; $i <= $sql->getRows(); $i++, $sql->next())
{
$dateiname_suche = $sql->getValue("dateiname");
$datei_projektnummer_suche = $sql->getValue("projektnummer");
$teilnehmer_suche = $sql->getValue("teilnehmer");
$dateidatum_suche = date("d.m.Y",strtotime($sql->getValue("dateidatum")));
$dateizeit_suche = date("H.i",strtotime($sql->getValue("dateidatum")));
$datei_projektseite_suche = $sql->getValue("projektseite");
$suche_download_ausgabe .= '<li><a href="index.php?article_id='.$datei_projektseite_suche.'"></a><i class="fa fa-file-o"></i>'.$dateiname_suche.'<ul><li><i class="fa fa-calendar"></i>'.$dateidatum_suche.' um '.$dateizeit_suche.' Uhr</li><li><i class="fa fa-circle"></i>'.$datei_projektnummer_suche.'</li><li><i class="fa fa-user"></i>'.$teilnehmer_suche.'</li></ul></li>';
}
}
}
}
?>
这是我的 “老” 的SQL代码(没有准备好的发言):
<?php
if ($_SERVER["REQUEST_METHOD"] == 'POST') {
$suche = htmlspecialchars($_POST['suche']);
if (!empty($suche)) {
$sql = new rex_sql;
$sql->debugsql = 0;
$sql->setQuery("SELECT * FROM rex_downloads WHERE dateiname LIKE '%$suche%' OR projektnummer LIKE '%$suche%' OR teilnehmer LIKE '%$suche%'");
if ($sql->getRows() >= 1) {
for($i = 1; $i <= $sql->getRows(); $i++, $sql->next())
{
$dateiname_suche = $sql->getValue("dateiname");
$datei_projektnummer_suche = $sql->getValue("projektnummer");
$teilnehmer_suche = $sql->getValue("teilnehmer");
$dateidatum_suche = date("d.m.Y",strtotime($sql->getValue("dateidatum")));
$dateizeit_suche = date("H.i",strtotime($sql->getValue("dateidatum")));
$datei_projektseite_suche = $sql->getValue("projektseite");
$suche_download_ausgabe .= '<li><a href="index.php?article_id='.$datei_projektseite_suche.'"></a><i class="fa fa-file-o"></i>'.$dateiname_suche.'<ul><li><i class="fa fa-calendar"></i>'.$dateidatum_suche.' um '.$dateizeit_suche.' Uhr</li><li><i class="fa fa-circle"></i>'.$datei_projektnummer_suche.'</li><li><i class="fa fa-user"></i>'.$teilnehmer_suche.'</li></ul></li>';
}
}
}
}
?>
谢谢!
我建议你去*代码审查*本网站是关于在社区的问题提供解决方案的编程问题。 * CodeReview *建议改进您的代码。 – Script47