Проблема:
Идти к: http://www.englishact.com/Quotations/allquotgr.php
Если вы ищете Bl?ue
, он покажет некоторые результаты.
Тем не менее, если вы ищете Bl?ue 's
, не будет никаких результатов.
Но моя таблица MySQL содержит данные, в том числе '
[Цитата]
Та же проблема происходит для всех версий quotation pages
Пример:
http://www.englishact.com/Quotations/allquot.php]2
[http://www.englishact.com/Quotations/allquotfr.phpМой код:
if(isset($_GET['quotation'])){
$puty = $_GET['quotation'];
$put = urldecode($_GET['quotation']);
$sql = "SELECT * FROM `gr` WHERE `quot` LIKE '%".$put."%' OR `author` LIKE '%".$put."%'";
}
$result = mysqli_query($con,$sql);
while ($row = mysqli_fetch_array($result)) {
$quot[] = $row;
}
Я думаю, что проблема внутри кода выше.
Это то, что все говорят вам делать:
if(isset($_GET['quotation'])){
$con=new mysqli("localhost","username","password","database"); // use your details obviously
if($stmt=$con->prepare("SELECT * FROM `gr` WHERE `quot` LIKE ? OR `author` LIKE ?")){
$p1=$p2="%{$_GET['quotation']}%"; // wrap the values with % for LIKE
$stmt->bind_param("ss",$p1,$p2);
$stmt->execute();
$result=$stmt->get_result();
while($row=$result->fetch_array(MYSQLI_ASSOC)){
$quot[] = $row;
}
}else{
echo mysqli_error($con);
}
}
Это защитит ваш запрос и решит вашу проблему.
Других решений пока нет …