Joomla, Mysql ошибка - PullRequest
       14

Joomla, Mysql ошибка

0 голосов
/ 27 октября 2009

Я загрузил страницу с кодом ниже в мой корневой каталог joomla.

<?php
$value = trim($_POST['opts']);

if ($value){ 
$db = "my_db";
$link = mysql_connect('localhost',$me,$my_password);

if(!$link) die("Error 1 ".mysql_error());

mysql_select_db($db);

 **$query =  "SELECT introtext,fulltext FROM jos_content WHERE title='$value' ";** 

 $result = mysql_query($query);

 **if(!$result) die("Error 2 ".mysql_error());**

 $obj = mysql_fetch_array($result);

 $obj_f = $obj[0];

 $lenght = strlen($obj_f);
 $header2 = strpos($obj_f, "Did you know");
 $header3 = strstr($obj_f, "Summary");

$third_part = $header3; 
$first_part = substr($obj_f, 0, ($header2 - 1));
$second_part = substr($obj_f, $header2,((strpos($obj_f, "Summary")) - $header2) );             
 }
?>

проблема в том, что когда я меняю свой выбор (http://sanatural.co.za/sanp/test.php), я получаю это сообщение об ошибке: Ошибка 2 В вашем синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с полнотекстовым ОТ jos_content WHERE title = 'Arthritis' 'в строке 1

Код, выделенный жирным шрифтом, - вот где я думаю, что проблема может быть. Пожалуйста, помогите.

Ответы [ 2 ]

6 голосов
/ 27 октября 2009

Полный текст - это ключевое слово mysql, и вы должны его избежать Заменить:

$query = "SELECT introtext,fulltext FROM jos_content WHERE title='$value' ";

с

$query = "SELECT `introtext`,`fulltext` FROM jos_content WHERE title='$value' ";
1 голос
/ 28 октября 2009

Это немного не по теме, но простой способ использовать PHP в Joomla - через PHP-компонент. http://www.fijiwebdesign.com/products/joomla-php-pages.html Это позволяет вам добавить add PHP в Joomla, как если бы это был Joomla Component.

Если вы хотите что-то быстрое, то вы также можете использовать модуль PHP. http://www.fijiwebdesign.com/products/joomla-php-module.html

Просто установите либо, добавьте свой PHP и добавьте его в меню Joomla. Затем вы можете использовать API Joomla, который упростит то, что вы хотите делать в Joomla.

Например, ваши запросы к базе данных могут быть:

// Joomla already has a connection to the DB 
// available here as a Singleton in the Factory pattern
$Db =& JFactory::getDBO();

// querying the db
$Db->setQuery('SELECT `introtext`,`fulltext` FROM #__content WHERE title='.$Db->Quote($value).' LIMIT 1';
// retrieving a single row as an object
$article = $Db->loadObject();
// handle errors
if($Db->getErrorNum()) {
   JError::raiseError( 500, $Db->stderr());
}

//Then accessing each column/property would look something like:

$intro = $article->introtext;
$text = $article->fulltext;

Полный API базы данных задокументирован здесь: http://api.joomla.org/Joomla-Framework/Database/JDatabase.html

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