// 'modx_table_name', array('row1' => 1, 'row2' =>2) function _INSERT($table, $data){ $keys = array_keys($data); $fields = '`' . implode('`,`', $keys) . '`'; $placeholders = substr(str_repeat('?,', count($keys)), 0, -1); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$placeholders});"; $stmt = $this->modx->prepare($sql); if (!$stmt->execute(array_values($data))) { $this->modx->log(1, print_r($stmt->errorInfo(), true) . ' SQL: ' . $sql); } } // 'modx_table_name', array('row1' => 1, 'row2' => 2), 'id', 1 function _UPDATE($table, $data, $key, $val){ if(!$key || !$val) return false; $placeholders = array(); foreach(array_keys($data) as $k) $placeholders[] = "`{$k}` =?"; $placeholders = implode(', ', $placeholders); $data = array_values($data); array_push($data,$val); $sql = "UPDATE {$table} SET {$placeholders} WHERE `{$key}` =?;"; $stmt = $this->modx->prepare($sql); if (!$stmt->execute(array_values($data))) { $this->modx->log(1, print_r($stmt->errorInfo(), true) . ' SQL: ' . $sql); } }
Запросы INSERT и UPDATE на PDO
06 декабря 2016, 08:10
Она тут точно не лишняя? Убрал кавычки, чтобы было понятнее.
заменил на
PHP выдает предупреждение PHP notice: Undefined variable: modx,
и затем
Вывел вардамп $sql-
Что я делаю не так?
Решилось заменой
на