Php mysql插入查询突然停止工作?
下面的查询以前工作过,但现在出现错误 返回的错误是“字段列表”中的Php mysql插入查询突然停止工作?,php,mysql,joomla,Php,Mysql,Joomla,下面的查询以前工作过,但现在出现错误 返回的错误是“字段列表”中的1054未知列“$variable1” 使用Joomla中的代码并使用Joomla数据库连接访问同一服务器上的非Joomla数据库 public function add_client($variable1, $variable2, $variable3){ $db = $this->getDbo(); $columns = array('field1', 'field2', 'field3', 'field
1054未知列“$variable1”
使用Joomla中的代码并使用Joomla数据库连接访问同一服务器上的非Joomla数据库
public function add_client($variable1, $variable2, $variable3){
$db = $this->getDbo();
$columns = array('field1', 'field2', 'field3', 'field4', 'field5', 'field6');
$values = array($variable1, $variable2, $variable3, '12', '24', '1');
$query = $db->getQuery(true)
->insert($db->quoteName('#__clients'))
->columns($db->quoteName($columns))
->values(implode(',', $values));
$db->setQuery($query);
if($db->execute()){
return "The record was added successfully";
}else{
return "There was an error adding the record";
}
}
这个问题是由于变量在变为数字之前是文本 下面的解决方案
public function add_client($variable1, $variable2, $variable3){
$db = $this->getDbo();
$columns = array('field1', 'field2', 'field3', 'field4', 'field5', 'field6');
$values = array($db->quote($variable1), $db->quote($variable2), $db->quote($variable3), '12', '24', '1');
$query = $db->getQuery(true)
->insert($db->quoteName('#__clients'))
->columns($db->quoteName($columns))
->values(implode(',', $values));
$db->setQuery($query);
if($db->execute()){
return "The record was added successfully";
}else{
return "There was an error adding the record";
}
}
您使用的是哪种类型的数据库连接?我以前从未见过这些函数,比如
getQuery
我打赌$variable1
,$variable2
,或者$variable3
是一个字符串,需要引用。您需要使用将使用参数绑定的DB库。在哪里设置变量$variable1
,$variable2
,以及$variable3
?您使用的是什么数据库库?这是Joomla吗?@aynber错误表明变量名是在某个地方传递的,它需要一个列名。根据,值数组需要使用$db->quote
。