我已将包含以下代码的页面上传到我的joomla根目录。

<?php
$value = trim(

我已将包含以下代码的页面上传到我的joomla根目录。

<*>

问题是当我改变我的选择时( http://sanatural.co.za /sanp/test.php )我收到此错误消息: 错误2您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在第1行的“全文来源jos_content WHERE title ='Arthritis''附近使用正确的语法

以粗体突出显示的代码是我认为问题可能出现的地方。请帮忙。

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服务器版本相对应的手册,以便在第1行的“全文来源jos_content WHERE title ='Arthritis''附近使用正确的语法

以粗体突出显示的代码是我认为问题可能出现的地方。请帮忙。

有帮助吗?

解决方案

Fulltext是一个mysql关键字,您必须将其转义。替换:

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

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

其他提示

这有点偏离主题,但在Joomla中使用PHP的一种简单方法是通过PHP组件。 http://www.fijiwebdesign.com/products/joomla-php-pages。 HTML 这允许您在Joomla中添加PHP,就好像它是Joomla组件一样。

如果你想要快速的东西,那么你也可以使用PHP模块。 http://www.fijiwebdesign.com/products/joomla-php-module。 HTML

只需安装,添加PHP,然后将其添加到Joomla菜单中。 然后,您可以使用Joomla API,这将简化您在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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top