Как удалить запись из кастомной таблицы через PDO?
Пишу скрипт для импорта из одной таблицы в ресурсы MODX. Всё в отдельном файле в корне сайта.
Подключаюсь к MODX:
Делаю запрос к этой таблице:
Дальше через foreach перебираю все выбранные записи в этой таблице и создаю ресурс MODX и нужные мне тв-шки.
Под конец очередной итерации мне нужно удалить эту запись в исходной таблице $table.
Удаляю по-старому:
В итоге вываливаются ошибки:
Как я понимаю, нужно удалять ресурсы тоже через xPDO? Как это делается?
Подключаюсь к MODX:
// Подключаем
define('MODX_API_MODE', true);
require 'index.php';
// Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
Делаю запрос к этой таблице:
$sql = "SELECT * FROM `$table` WHERE type = 44 LIMIT $offset,2";
$q = $modx->prepare($sql);
$q->execute(array(0));
$arr = $q->fetchAll(PDO::FETCH_ASSOC);
$output = 'Выборка '.count($arr).' заявок начиная с '.$offset.':';
Дальше через foreach перебираю все выбранные записи в этой таблице и создаю ресурс MODX и нужные мне тв-шки.
Под конец очередной итерации мне нужно удалить эту запись в исходной таблице $table.
Удаляю по-старому:
$s1="DELETE FROM $table WHERE id='$id'";
$res = mysql_query($s1) or die("Query failed");
В итоге вываливаются ошибки:
[2015-06-15 09:28:21] (WARN @ /home/****/www/import.php : 146)
PHP deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
[2015-06-15 09:28:21] (ERROR @ /home/****/www/import.php : 146)
PHP warning: mysql_query(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[2015-06-15 09:28:21] (ERROR @ /home/****/www/import.php : 146)
PHP warning: mysql_query(): A link to the server could not be established
Query failed
Как я понимаю, нужно удалять ресурсы тоже через xPDO? Как это делается?
Поблагодарить автора
Отправить деньги
Комментарии: 4
$s1="DELETE FROM $table WHERE id='$id'";
$modx->exec($s1);
Понял, изящно!
Спасибо, всё больше влюбляюсь в xPDO!
Спасибо, всё больше влюбляюсь в xPDO!
$modx->exec и $modx->query просто транслируют запросы в PDO::exec и PDO::query. Так что, это скорее PDO, а не xPDO.
Точно! Так ещё быстрее и проще! Спасибо ещё раз!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.