Birden çok sütun mysql ve php arıyor

1 Cevap php

Ben bu kodu kullanarak birden çok sütun için aramak çalışıyorum:

 <?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>";

   ?>

Ben şu hatayı alıyorum: Ayrıştırma hatası: 30 hattı üzerinde / home/a7105766/public_html/website/scripts/coursesearchdb.php sözdizimi hatası, beklenmedik T_STRING

Ben yanlış ne yapıyorum?

şerefe

1 Cevap

Bu satırı yanlıştır:

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

Hatta yığın taşması kullandığı vurgulayarak sözdizimi hatasını görebilirsiniz. Eğer gelişmekte yaparken dizim kullanıyor musunuz? Eğer değilse, ben tam olarak hata bu tür yakalamak için bunu tavsiye ederim.

Çözümü - Eğer çift teklif ve açık parantez kapatmak gerekir.

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

Ayrıca yerine die('Error') Böyle die(mysql_error()) olarak yararlı bir şey yazabilirsiniz. Ayrıca trigger_error(mysql_error()) bakmak olabilir.

Lütfen SQL size anahtar WHERE eksik. Tam metin aramaları hakkında daha fazla bilgi için kılavuzda Full-Text Search Functions bakın.