DelDard
سه شنبه 01 فروردین 1396, 19:15 عصر
سلام
وقتی keywordی که گرفتم رو یکراست میزارم تو کوئری مشکلی نداره و درست کار میکنه:
$keyword = $_POST['keyword'];
$query = "SELECT * FROM info WHERE MATCH(name,lname,fathersname) AGAINST ('$keyword' IN BOOLEAN MODE);";
$result = $db->prepare($query);
$result->execute();
$results = $result->fetchAll();
var_dump($results);
اما خب این امن نیست و باید کلمه ورودی رو فیلتر کرد با bindParam مثل کد زیر:
$keyword = $_POST['keyword'];
$query = "SELECT * FROM info WHERE MATCH(name,lname,fathersname) AGAINST (':keyword' IN BOOLEAN MODE);";
$result = $db->prepare($query);
$result->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$result->execute();
$results = $result->fetchAll();
var_dump($results);
اما این جوری به من هیچ نتیجه ایی نمیده!! مشکل اینجاست که ارور هم نمیده که بخونم بدونم مشکل از کجاست فقط یه آرایه خالی میشه نتیجه سرچ
میشه بگید من دارم کجا اشتباه میکنم؟ اگه راه حلی بدید ممنون میشم
تشکر از شما دوستان
وقتی keywordی که گرفتم رو یکراست میزارم تو کوئری مشکلی نداره و درست کار میکنه:
$keyword = $_POST['keyword'];
$query = "SELECT * FROM info WHERE MATCH(name,lname,fathersname) AGAINST ('$keyword' IN BOOLEAN MODE);";
$result = $db->prepare($query);
$result->execute();
$results = $result->fetchAll();
var_dump($results);
اما خب این امن نیست و باید کلمه ورودی رو فیلتر کرد با bindParam مثل کد زیر:
$keyword = $_POST['keyword'];
$query = "SELECT * FROM info WHERE MATCH(name,lname,fathersname) AGAINST (':keyword' IN BOOLEAN MODE);";
$result = $db->prepare($query);
$result->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$result->execute();
$results = $result->fetchAll();
var_dump($results);
اما این جوری به من هیچ نتیجه ایی نمیده!! مشکل اینجاست که ارور هم نمیده که بخونم بدونم مشکل از کجاست فقط یه آرایه خالی میشه نتیجه سرچ
میشه بگید من دارم کجا اشتباه میکنم؟ اگه راه حلی بدید ممنون میشم
تشکر از شما دوستان