Php açık kontrolü
Arkadaşlar phpde yeniyim açıklarıdır vs çok bilgim yok. Aşağıdaki kodda siteme kötü niyetli kişiler tarafından zarar verilmesine sebeb olacak bir açık gibi bir şey var mıdır? Bilgili arkadaşlar yardımcı olabilir mi?
<?php
$sql = $db->query("SELECT * FROM sonuclar WHERE baslik or aciklama or etiket LIKE '%".$word."%' LIMIT 7");
if ($sql->num_rows) {
echo '<br>';
echo '<a id="sonuc">Şuan da "'.$word.'" sözcüğüyle ilgili arama sonuçlarını görüyorsunuz.</a>';
while ($row = $sql->fetch_assoc())
?>
Hocam sabah sabah tekrar rahatsız ediyorum kusura bakmayın ama sizinki gibi yaptım aşağıdaki şekilde ve ekrana çıkan hatalar şunlar ve yine benim bilgimi aşıyor :/
Notice: Undefined index: word in C:xampphtdocsarama.php on line 31
Warning: mysqli_stmt::execute() expects exactly 0 parameters, 1 given in C:xampphtdocsarama.php on line 35
Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::rowCount() in C:xampphtdocsarama.php:37 Stack trace: #0 {main} thrown in C:xampphtdocsarama.php on line 37
<?php
$word = strip_tags(htmlspecialchars(trim($_GET["word"]), ENT_QUOTES));
$sql = $db->prepare("SELECT * FROM sonuclar WHERE baslik or aciklama or etiket LIKE '%:word%' LIMIT 7");
$sql->execute([":word" => $word]);
if ($sql->rowCount() > 0) {
echo '<br>';
echo '<a id="sonuc">Şuan da "'.$word.'" sözcüğüyle ilgili arama sonuçlarını görüyorsunuz.</a>';
while ($row = $sql->fetch_assoc())
?>