Error While using MATCH() AGAINST() in php mysql -
i'm new in php. trying search mysql dayabase using match against rather using like. using script,
    <?php   if (isset($_get['q'])){          error_reporting(-1);          $query = $_get['q'];          $dbh  = new mysqli($host, $user, $password,  $database);          if ($dbh->connect_error) {             echo 'unable connect database '. $dbh->connect_error;         } else {               if ($stmt = $dbh->prepare("select index, sura, aya, text bn_bengali match(sura,text) against(?) "))                 {                 $stmt->bind_param("s", $query);                  $stmt->execute();                  $stmt->bind_result($index, $sura, $aya, $text);                   $stmt->store_result();               printf("number of rows: %d.\n", $stmt->num_rows);                   while ($stmt->fetch()) {                     echo $sura.'-'.$aya;                     echo $text;                     echo '<hr />';                 }             } else {                    echo "prepare failed: (" . $dbh->errno . ") " . $dbh->error;             }         }   } // end isset q else {      echo '<form action="" ><input type="text" name="q"><button>search</button></form>'; }     ?> but it's giving error,
prepare failed: (1064) have error in sql syntax; check manual corresponds mysql server version right syntax use near 'index, sura, aya, text bn_bengali match(sura,text) against(?)' @ line 1 where problem in script?
i want search database table match against.
but same script working fine
select sura, aya, text bn_bengali text ?
why not match against working? problem in script?
index reserved words in mysql must in backtick 
your query be
select `index`, `sura`, `aya`, `text`... 
Comments
Post a Comment