2016-02-13 4 views
1

im пытается вставить данные в db, и я не знаю, почему он не работает.Вставка данных в базу данных не работает (PHP)

if(isset($_POST['reply_msg'])) 
{ 
    $date = date("Y-m-d H:i:s"); 
    $sql = mysql_query("INSERT into pm 
    (sent_to, sent_by, date, title, content, status) 
    VALUES('%s','%s','%s','%s','%s','%s')" 
    , $MSGInfo['sent_by'] 
    , $MSGInfo['sent_to'] 
    , $date 
    , mysql_real_escape_string($_POST['reply_title']) 
    , mysql_real_escape_string($_POST['reply_conent']) 
    , 'Unread'); 

    if (!$sql){ 
     die('Sending failed '); 
    } 
    else echo 'Sent!'; 
} 

скриншот таблицы: http://prntscr.com/a2r47v

+0

Вы создали соединение? '$ conn = new mysqli ($ servername, $ username, $ password, $ dbname);' –

+0

'mysql_query (" INSERT в pm (sent_to, sent_by, дата, название, контент, статус) VALUES ('% s' , '% s', '% s', '% s', '% s', '% s') " , $ MSGInfo ['sent_to'] , $ MSGInfo ['sent_by'] , $ date , mysql_real_escape_string ($ _ POST ['reply_title']) , mysql_real_escape_string ($ _ POST ['reply_conent']) , 'Непрочитано' ) '' sent_by' и 'sent_to' получил взаимозаменяемость. –

+0

Да, код является лишь частью файла, его просто эта часть не работает. –

ответ

1

Вы должны создать свой стиль PHP запрос, а не C стиль. Тем не менее, я бы не рекомендовал mysql для этого, mysqli лучше. Кроме того, посмотрите на PDO для более высокого уровня безопасности.

// Настройка запроса

$q = "INSERT INTO `pm` ('sent_to', 'sent_by', 'date', 'title', 'content', 'status')) VALUES(
$MSGInfo['sent_to'],$MSGInfo['sent_by'],$date, 
mysql_real_escape_string($_POST['reply_title']), mysql_real_escape_string($_POST['reply_conent']),Unread)"; 

// Выполнить запрос

$result = mysql_query($q) or die(mysql_error()); 

Ваш запрос не достаточно хорошо сложенный, вы должны работать немного больше на него.

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