Question
J'ai importé une page avec le code ci-dessous dans mon répertoire racine joomla.
<?php
$value = trim( J'ai importé une page avec le code ci-dessous dans mon répertoire racine joomla.
<*>
le problème est que lorsque je change de sélection ( http://sanatural.co.za /sanp/test.php ) j’obtiens le message d’erreur suivant:
Erreur 2 Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de 'fulltext FROM jos_content WHERE title =' Arthrite '' à la ligne 1
Le code en gras est l'endroit où le problème pourrait se poser. S'il vous plaît aider.
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) );
}
?>
le problème est que lorsque je change de sélection ( http://sanatural.co.za /sanp/test.php ) j’obtiens le message d’erreur suivant: Erreur 2 Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de 'fulltext FROM jos_content WHERE title =' Arthrite '' à la ligne 1
Le code en gras est l'endroit où le problème pourrait se poser. S'il vous plaît aider.
La solution
Fulltext est un mot clé mysql et vous devez l’échapper. Remplacer:
$query = "SELECT introtext,fulltext FROM jos_content WHERE title='$value' ";
avec
$query = "SELECT `introtext`,`fulltext` FROM jos_content WHERE title='$value' ";
Autres conseils
Ceci est un peu hors sujet, mais un moyen simple d'utiliser PHP dans Joomla consiste à utiliser le composant PHP. http://www.fijiwebdesign.com/products/joomla-php-pages. html Cela vous permet d'ajouter PHP dans Joomla comme s'il s'agissait d'un composant Joomla.
Si vous voulez quelque chose de rapide, vous pouvez également utiliser le module PHP. http://www.fijiwebdesign.com/products/joomla-php-module. html
Installez-le non plus, ajoutez votre PHP et ajoutez-le au menu Joomla. Vous pouvez ensuite utiliser l'API Joomla qui simplifiera ce que vous voulez faire dans Joomla.
Par exemple, vos requêtes de base de données pourraient être:
// 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;
L’API de base de données complète est documentée ici: http://api.joomla.org/Joomla-Framework/Database/JDatabase. html