2013-08-19 34 views
-1

Я хотел бы показать сообщение об успешном завершении, если выполнение выполнено успешно. В приведенном ниже коде не отображается сообщение, которое просто удаляет его. что мне не хватает?, показывающий сообщения об успешном завершении в php

$errors = array(); 
    $delete = $mydb->prepare("update messages set deleted = 'yes' where to_user = ? and id = ? "); 
$delete->bind_param('ss', $username->username, $id); 
foreach ($_POST['id'] as $id) { 
$delete->execute(); 
} 

    $errors[] = "Message Deleted."; 


} 


<div><?php 
if ($delete->execute()) { echo $errors;} 
?> 
    </div> 
+0

Проверьте свою логику - вы звоните '$ Удалить-> execute' в петле , а затем в конце, проверяя его снова, чтобы увидеть, работает ли удаление. Я ожидаю, что последний вызов терпит неудачу, потому что '$ id' больше не определен. – andrewsi

+0

Почему вы выполняете один и тот же запрос снова и снова? Вы никогда не перепроверяете параметры ... – JLewkovich

+0

нет никакой проблемы с переменной переменной witth и она определена. Я просто не включил его здесь –

ответ

0

$ ошибок, кажется, массив так что вам придется перебрать его эхо ошибки, которые могут быть сделаны с помощью

foreach($errors as $value){ 
    echo $value; 
} 

, но из приведенного выше кода, кажется, у вас есть только одно значение в массиве, так что вы можете использовать

echo $errors[0]; 

отметить Также вы, возможно, потребуется изменить

if ($delete->execute()) { echo $errors;} 

в

<?php 
if (count($errors)>0) { echo $errors;} 
?> 

Благодаря

+0

'$ errors = array(); $ delete = $ mydb-> подготовить ("обновить сообщения set deleted = 'yes', где to_user =? И id =?"); $ delete-> bind_param ('ss', $ username-> имя пользователя, $ id); foreach ($ _POST ['id'] as $ id) { $ delete-> execute(); } $ errors [] = "Сообщение удалено."; }

'; } ?>
' –

+0

спасибо, что получил работу. –

0

Переменная $errors является массив не является строкой, и вы не можете эхо переменной массива, вы должны использовать foreach($errors AS $v) echo $v;

+0

И, кстати, похоже, что сообщение об ошибках php отключено, поэтому вы не получаете сообщение об ошибке от php, что массивы не могут быть напечатаны в виде строк. – MaveRick

+0

О да, это было ... теперь я вижу ошибку. Что такое v? –

+0

'$ v' - значение каждого элемента внутри массива' $ errors' как строка – MaveRick