【问题标题】:How to Display Joomla database table using native joomla 2.5 php objects如何使用本机 joomla 2.5 php 对象显示 Joomla 数据库表
【发布时间】:2014-11-03 05:52:06
【问题描述】:

我正在尝试使用本地 joomla PHP 对象显示 MySQL 数据库表中的数据,但是我永远无法使其正常工作。它从不显示任何数据。

我知道如何通过老式方式连接到数据库来显示数据,如下所示...

$con = mysqli_connect("localhost","xxxxxx_user10","$dbpass","xxxxxxx_final");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
} else {
//What is the base model
$sku = $finish;
// Select The Correct Table
$result = mysqli_query($con,"SELECT * FROM BAH_finish WHERE color_value='$sku' GROUP BY uniqueID ORDER BY uniqueID ASC");
  $row = mysqli_fetch_array($result);
  $finishname = $row['color_name'];
  $finishtype = $row['color_type'];

但是我想像上面那样显示内容,但是通过使用 joomla 本地 php 对象,所以我创建了一个包含以下字段的示例 php 表.....

| ID | Last | First | Address | City | State | ZIP

并尝试使用以下joomla代码显示它(ALL ROWS)/ OR(ONE ROW).....但没有任何反应......无论我如何尝试切换它或更改部分代码......所以我的想法是我错过了它应该如何工作的基本部分......再次感谢您的帮助!另外请不要引用来自 joomla.org 的 joomla 2.5 组件教程...这是我获得此代码的地方,而 IMO 缺少很多信息。

<?php

// Get a db connection.
$db = JFactory::getDbo();

// Create a new query object.
$query = $db->getQuery(true);

// Select all records from the user profile table where key begins with "custom.".
// Order it by the ordering field.
$query->select($db->quoteName(array('Last', 'First', 'Address', 'City', 'State', 'ZIP')));
$query->from($db->quoteName('111testnames'));
$query->where($db->quoteName('Last') . $db->quote('buffet'));

// Reset the query using our newly populated query object.
$db->setQuery($query);

// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();

echo $results;

?>

【问题讨论】:

    标签: php mysql class object joomla


    【解决方案1】:

    你必须更正:$query-&gt;from($db-&gt;quoteName('111testnames'));

    $query-&gt;from($db-&gt;quoteName('#__111testnames'));

    使用#__ 会自动添加表格的后缀。

    我可以看到的另一个错误是 where 子句没有运算符。请尝试更正为$query-&gt;where($db-&gt;quoteName('Last') ." = ". $db-&gt;quote('buffet'));

    为了正确查看结果,您必须使用print_r($results); 而不是echo $results;,因为您必须显示一个对象数组而不是字符串。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      • 2012-07-17
      • 1970-01-01
      相关资源
      最近更新 更多