поиск нескольких столбцов mysql и php - PullRequest
1 голос
/ 25 мая 2010

Я пытаюсь найти несколько столбцов, используя этот код:

 <?php

 // Connection Database
 $search = $_POST ['Search'];

mysql_connect("xxxxxx", "xxxxxx", "xxxxx") or die ("Error Connecting to Database");
mysql_select_db("xxxxx") or die('Error');
    $data = mysql_query("SELECT CourseName, CourseDescription, CourseLeader FROM course   MATCH (CourseName, CourseDescription, CourseLeader) AGAINST ('". $search ."')
or die('Error');
Print "<table border cellpadding=3>";
while($info = mysql_fetch_array( $data ))
 {
  Print "<tr>";
  Print "<th>Course Name:</th> <td>".$info['CourseName'] . "</td> ";
  Print "<th>Course Description:</th><td>".$info['CourseDescription'] . "</td> ";
  Print "<th>Course Leader:</th><td>".$info['CourseLeader'] . " </td></tr>";

  }
  Print "</table>";

   ?>

Я получаю следующую ошибку: Ошибка разбора: синтаксическая ошибка, неожиданный T_STRING в /home/a7105766/public_html/website/scripts/coursesearchdb.php в строке 30

что я делаю не так ??

ура

1 Ответ

3 голосов
/ 25 мая 2010

Эта строка неверна:

$data = mysql_query("SELECT ... AGAINST ('". $search ."') or die('Error');

Вы даже можете увидеть ошибку из подсветки синтаксиса, которую использует переполнение стека. Используете ли вы подсветку синтаксиса при разработке? Если нет, то я бы порекомендовал это для того, чтобы ловить именно такую ​​ошибку.

Решение - вам нужно закрыть двойные кавычки и открыть круглые скобки.

$data = mysql_query("SELECT ... AGAINST ('". $search ."')") or die('Error');

Также вместо die('Error') вы можете написать что-нибудь полезное, например die(mysql_error()). Вы также можете посмотреть на trigger_error(mysql_error()).

В вашем SQL вам не хватает ключевого слова WHERE. См. Функции полнотекстового поиска в руководстве для получения дополнительной информации о полнотекстовом поиске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...