Как сделать true и false при запросе UPDATE
$c = $modx->newQuery('Objekt');
$c->command('update');
$c->set(array(
'name' => $name
));
$c->where(array(
'id' => $id,
));
$c->prepare();
$c->stmt->execute();
$c->stmt->execute(); всегда возвращает true наверное потому что запрос выполненно как сделать проверку удачно ли прошел запрос или запрос прошел но неудачно так как условие where не нашло нужное значение
Спасибо
Итог, как сделал:
if($c->stmt->rowCount() > 0){
echo "Ok";
}else{
echo"No";
}
Комментарии: 6
Так?
if($c->stmt && $c->stmt->execute()){
$result = ...
}
не прокатило
Не прокатило что? Объект не обновился или нет объекта с таким id?
Проверка на ошибки именно такая
Проверка на ошибки именно такая
if($c->prepare() && $c->stmt->execute()){
$result = ...
}
А есть ли такой объект можно проверить так if ($modx->getCount('Objekt', $c) {
// есть
}
строки в базе нет с таким id а он делает запрос и возвращает якобы true)))
Это если так делать:
Это если так делать:
if($c->stmt && $c->stmt->execute()){
$result = ...
}
Можно через PDO сделать
$c = $modx->newQuery('Objekt');
$c->command('update');
$c->set(array(
'name' => $name
));
$c->where(array(
'id' => $id,
));
$c->prepare();
$sql = $c->toSql();
// sql можно составить и вручную
// sql = "UPDATE $modx->getTableName('objekt') SET `name` = {$name} WHERE `id` = {$id}";
if ($count = $modx->exec($sql)) {
// Обновлено $count строк
}
Спасибо, на каком то сайте нашел функцию хорошую, получилось так:
if($c->stmt->rowCount() > 0){
echo "Ok";
}else{
echo"No";
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.