如何使用插入查询joomla 2.5?

我正在使用joomla查询。如何使用插入查询joomla 2.5?

$query = "INSERT INTO '#__demo'('id', 'fname', 'mname', 'lname') VALUES ('$val', '$post['fname']', '$post['Mname']', '$post['Lname']');"; 

这是给错误

syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING 

回答:

有上查询了两个错误。

  1. 您还没有幸免于$_POST值的引用。

    '$post['fname']' 

    // ^here and other places

  2. 您正在使用单引号'代表表和字段名。现在

    .. INTO '#__demo'(..  

    // ^here and other places

消除所有这些问题之后。您查询变为:

$query = "INSERT INTO `#__demo` (`id`, `fname`, `mname`, `lname`) VALUES ('$val', '$post[fname]', '$post[Mname]', '$post[Lname]');"; 

回答:

对于插入的数据你也可以使用这种格式的Joomla 2.5:

$data =new stdClass(); 

$data->id = null;

$data->field1 = 'val1';

$data->field2 = 'val2';

$data->field3 = 'val3';

$db = JFactory::getDBO();

$db->insertObject('#__mytable', $data, id);

stdClass的是PHP的基类,所有其他类扩展。

'id'是连接表的主键的名称。

回答:

您可以使用文字插入查询更加格式化方式

$db = JFactory::getDBO(); // get the connection 

$query = $db->getQuery(true);

$columns = array('field1','field2'); // set the column names to a variable

$values = array(1,$db->quote('Your message'));

$query->insert($db->quoteName('#__tablename'))

->columns($db->quoteName($columns))

->values(implode(',',$values));

$db->setQuery($query);

$db->execute();

$tourid = $db->insertid(); // get the last inserted id

你可以从这里

https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase

以上是 如何使用插入查询joomla 2.5? 的全部内容, 来源链接: utcz.com/qa/258011.html

回到顶部