本文整理汇总了PHP中PHPWS_DB::inDatabase方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPWS_DB::inDatabase方法的具体用法?PHP PHPWS_DB::inDatabase怎么用?PHP PHPWS_DB::inDatabase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPWS_DB
的用法示例。
在下文中一共展示了PHPWS_DB::inDatabase方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addWhere
public function addWhere($column, $value = null, $operator = null, $conj = null, $group = null, $join = false)
{
PHPWS_DB::touchDB();
$where = new PHPWS_DB_Where();
$where->setJoin($join);
$operator = strtoupper($operator);
// If passed in value was an array, loop over the array and call this method once for each column name
if (is_array($column)) {
foreach ($column as $new_column => $new_value) {
$result = $this->addWhere($new_column, $new_value, $operator, $conj, $group);
if (PHPWS_Error::isError($result)) {
return $result;
}
}
return true;
} else {
// Single column name passed in, check column name
if (!PHPWS_DB::allowed($column) || preg_match('[^\\w\\.]', $column)) {
return PHPWS_Error::get(PHPWS_DB_BAD_COL_NAME, 'core', 'PHPWS_DB::addWhere', $column);
}
}
// If non-empty array of values passed in for this column name
if (is_array($value) && !empty($value)) {
if (!empty($operator) && $operator != 'IN' && $operator != 'NOT IN' && $operator != 'BETWEEN' && $operator != 'NOT BETWEEN') {
$search_in = true;
} else {
if (empty($operator)) {
$operator = 'IN';
}
$search_in = false;
}
foreach ($value as $newVal) {
if ($search_in) {
$result = $this->addWhere($column, $newVal, $operator, $conj, $group);
if (PHPWS_Error::isError($result)) {
return $result;
}
} else {
$newVal = $GLOBALS['PHPWS_DB']['connection']->escape($newVal);
$new_value_list[] = $newVal;
}
}
if (!$search_in && isset($new_value_list)) {
$value =& $new_value_list;
} else {
return true;
}
} else {
// Single value passed in
if (is_null($value) || is_string($value) && strtoupper($value) == 'NULL') {
if (empty($operator) || $operator != 'IS NOT' && $operator != '!=') {
$operator = 'IS';
} else {
$operator = 'IS NOT';
}
$value = 'NULL';
} else {
$value = $GLOBALS['PHPWS_DB']['connection']->escape($value);
}
}
$source_table = $this->getSourceTable();
//$source_table = $this->tables[0];
if (is_string($column)) {
if (substr_count($column, '.') == 1) {
list($join_table, $join_column) = explode('.', $column);
if (isset($this->table_as[$join_table])) {
$source_table = $join_table;
$column =& $join_column;
} elseif (PHPWS_DB::inDatabase($join_table, $join_column)) {
$source_table = $join_table;
/***
* Commented out because this is trying to work too hard.
* If you (as a developer) haven't selected from or joined
* the table you're trying to add a 'WHERE' expression for,
* then I can't help you. The query will fail, and you'll figure it out.
*/
//$this->addTable($join_table);
}
}
}
//TODO what do we do if $column isn't a string?
$where->setColumn($column);
$where->setTable($source_table);
if (is_string($value)) {
if (substr_count($value, '.') == 1) {
list($join_table, $join_column) = explode('.', $value);
if (isset($this->table_as[$join_table])) {
$where->setJoin(true);
} elseif ($this->inDatabase($join_table, $join_column)) {
$where->setJoin(true);
$this->addTable($join_table);
}
}
}
$where->setValue($value);
$where->setConj($conj);
$where->setOperator($operator);
if (isset($group)) {
$this->where[$group]['values'][] = $where;
} else {
//.........这里部分代码省略.........
示例2: addWhere
public function addWhere($column, $value = null, $operator = null, $conj = null, $group = null, $join = false)
{
PHPWS_DB::touchDB();
$where = new PHPWS_DB_Where();
$where->setJoin($join);
$operator = strtoupper($operator);
if (is_array($column)) {
foreach ($column as $new_column => $new_value) {
$result = $this->addWhere($new_column, $new_value, $operator, $conj, $group);
if (PHPWS_Error::isError($result)) {
return $result;
}
}
return true;
} else {
if (!PHPWS_DB::allowed($column) || preg_match('[^\\w\\.]', $column)) {
return PHPWS_Error::get(PHPWS_DB_BAD_COL_NAME, 'core', 'PHPWS_DB::addWhere', $column);
}
}
if (is_array($value) && !empty($value)) {
if (!empty($operator) && $operator != 'IN' && $operator != 'NOT IN' && $operator != 'BETWEEN' && $operator != 'NOT BETWEEN') {
$search_in = true;
} else {
if (empty($operator)) {
$operator = 'IN';
}
$search_in = false;
}
foreach ($value as $newVal) {
if ($search_in) {
$result = $this->addWhere($column, $newVal, $operator, $conj, $group);
if (PHPWS_Error::isError($result)) {
return $result;
}
} else {
$newVal = $GLOBALS['PHPWS_DB']['connection']->escape($newVal);
$new_value_list[] = $newVal;
}
}
if (!$search_in && isset($new_value_list)) {
$value =& $new_value_list;
} else {
return true;
}
} else {
if (is_null($value) || is_string($value) && strtoupper($value) == 'NULL') {
if (empty($operator) || $operator != 'IS NOT' && $operator != '!=') {
$operator = 'IS';
} else {
$operator = 'IS NOT';
}
$value = 'NULL';
} else {
$value = $GLOBALS['PHPWS_DB']['connection']->escape($value);
}
}
$source_table = $this->tables[0];
if (is_string($column)) {
if (substr_count($column, '.') == 1) {
list($join_table, $join_column) = explode('.', $column);
if (isset($this->table_as[$join_table])) {
$source_table = $join_table;
$column =& $join_column;
} elseif (PHPWS_DB::inDatabase($join_table, $join_column)) {
$column =& $join_column;
$source_table = $join_table;
$this->addTable($join_table);
}
}
}
$where->setColumn($column);
$where->setTable($source_table);
if (is_string($value)) {
if (substr_count($value, '.') == 1) {
list($join_table, $join_column) = explode('.', $value);
if (!empty($this->table_as) && isset($this->table_as[$join_table])) {
$where->setJoin(true);
} else {
if ($this->inDatabase($join_table, $join_column)) {
$where->setJoin(true);
$this->addTable($join_table);
}
}
}
}
$where->setValue($value);
$where->setConj($conj);
$where->setOperator($operator);
if (isset($group)) {
$this->where[$group]['values'][] = $where;
} else {
$this->where[0]['values'][] = $where;
}
}