После переустановки open server, перестал работать метод execute()
php7.
запрос:
$sql = 'SELECT count(*) as count FROM records WHERE hiddenRecord = 0';
массив поступающий в функцию SqlExecute()
пустой.
функция обработки:
private function SqlExecute($sql = '', $array = [])
{
if($sql != '')
{
$Query = $this->Connect();
if($Query != null)
{
$Query->prepare($sql);
foreach($array as $key => $str)
{
if(is_numeric($str))
{
$Query->bindParam($key, $array[$key], PDO::PARAM_INT);
}
elseif(is_string($str))
{
$Query->bindParam($key, $array[$key], PDO::PARAM_STR);
}
}
$Query->execute();
if($Query->rowCount() > 0)
{
return [
'count' => $Query->rowCount(),
'lastId' => $this->Connect()->lastInsertId(),
'result' => $Query,
'status' => true,
];
}
else
{
return [
'count' => 0,
'lastId' => 0,
'result' => '',
'status' => false,
];
}
}
}
return [
'count' => 0,
'status' => false,
];
}
// Соединение.
private function Connect()
{
static $ini__li;
if($ini__li === null)
{
try
{
$ini__li = new PDO(
$this->base,
$this->user,
$this->pass
);
$ini__li->exec('SET NAMES UTF8');
}
catch(PDOException $e)
{
$ini__li = null;
}
}
return $ini__li;
}
Выводимая ошибка
Fatal error: Uncaught Error: Call to undefined method PDO::execute()
$Query = $this->Connect();
Здесь вы создаете объект PDO.
далее подготавливаете выражение
$Query->prepare($sql);
Данное выражение возвращает экземпляр PDOStatement
.
Далее вы пытаетесь приложить методы bindParam
и execute
к объекту PDO
, хотя должны сделать что-то вроде
$stmt = $Query->prepare($sql);
$stmt->bindParam(...)
$stmt->execute();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Есть на wordpress сайте страница калькулятора, где подключена библиотека formatterjs для корректного ввода телефона по патерну
Помогите составить регулярное выражение, которое проверяет строку на то, чтобы в ней были только цифры(от 7 до 15), но также среди цифр могли...