2013-12-10 4 views
0

В настоящее время я выполняю этот запрос для удаления сообщений в системе обмена сообщениями на моем сайте, когда пользователь удаляет запрос, и обновляет таблицу в моей базе данных.Выполнение нескольких запросов в mysql?

deleted_to is updated from '0' to '1' 

, что я тоже хочу сделать, это захватить идентификатор пользователя и сохранить это в таблице в столбце «user_who_deleted»

, чтобы сделать это, я использую $_SESSION['user_id'], но у меня возникают проблемы, чтобы найти способ иметь это вставлено в таблицу.

Может кто-нибудь, пожалуйста, покажите мне, как это сделать. благодаря

удаления код ссылки сообщение:

<?php $inbox_set = get_inbox(); 
while ($inbox = mysql_fetch_array($inbox_set)) { ?> 
<a href="delete_message.php?message=<?php echo $inbox['msg_id']; ?>"><div class="message_buttons2">Delete Conversation</div></a> 

запрос, который устанавливает deleted_to от 0 до 1:

function delete_message_to($message, $user) { 
    global $connection; 
global $_SESSION; 
    $query = "UPDATE ptb_messages 
       SET deleted_to='1' 
       WHERE msg_id='1' "; 
    mysql_query($query, $connection); 
} 

Удалять бит работает, но я теперь пытаюсь вставить пользователей $_SESSION['user_id'] Into ptb_messages. user_who_deleted

Я хочу, чтобы это выполнялось как часть того же запроса, если я могу. я пробовал что-то вроде ниже, но он ничего не делает

function delete_message_next($message, $user) { 
    global $connection; 
    global $_SESSION; 
    $query = "SELECT user_who_deleted 
       FROM ptb_messages 
       SET user_who_deleted =" . $_SESSION['user_id'] . ""; 
mysql_query($query, $connection); 
} 
+3

[Пожалуйста, прекратите использование mysql_ * функции] (HTTP: //stackoverflow.com/q/12859942/1238019) в новом коде, они [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Вместо этого посмотрите [подготовленные заявления] (http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html) и используйте [Mysqli] (http://php.net/manual/en/book.mysqli.php) или [PDO] (http://php.net/manual/en/book.pdo.php). – zessx

+0

'UPDATE ptb_messages SET deleted_to = '1', user_who_deleted = 'something' WHERE msg_id = ...'? – andrewsi

ответ

0

Если я не понимаю, разве вы просто не хотите этого делать?

$query = ' 
    UPDATE 
     ptb_messages 
    SET 
     deleted_to=1, 
     user_who_deleted = "'.$_SESSION['user_id'].'" 
    WHERE 
     msg_id=1'; 

В идеале, как уже упоминалось, вы хотите пойти в Mysqli или PDO и работать с подготовленными операторами:

$query = ' 
    UPDATE 
     ptb_messages 
    SET 
     deleted_to= :setDeleted, 
     user_who_deleted = :userId 
    WHERE 
     msg_id= :msgId'; 
$stmt = $dbh->prepare($query); 
$stmt->bindParam(':setDeleted', 1); 
$stmt->bindParam(':userId', $_SESSION['user_id']); 
$stmt->bindParam(':msgId', 1); 
$stmt->execute(); 

http://www.php.net/pdo.prepared-statements

Смежные вопросы