2013-12-16 9 views
0

У меня есть база данных MySQL, и я хочу запустить запрос против него с php.PHP MySql Query Missing

Запрос генерируется PHP, который является:

$sql = "INSERT INTO $tablename (title, link, pubdate, insertdate) 
     VALUES ('$title', '$link', '$pubDate', '$date')"; 

Это производит следующий запрос

INSERT INTO tbluknova (title, link, pubdate, insertdate) 
VALUES (' Through The Keyhole S01E07 Christmas Special.avi {{Gameshow}, {New}} ', 
     'http://www.website.ph/wsgi/feed/b1d2793376065c7cec861d156771e162/8854', 
     'Mon, 16 Dec 2013 02:56:35 GMT', 
     '2013-12-16 07:38:20' 
) 

Когда PHP работает этот запрос их нет записи в поле заголовка.

Если я запускаю этот запрос вручную, запрос работает нормально, и все поля имеют правильные записи.

Несмотря на то, что в поле заголовка нет записи, если я запустил запрос в поле заголовка для этой записи MySQL находит это !!!!!!!

select 
    * 
from tbluknova 
where title LIKE '%Through The Keyhole S01E07 Christmas Special.avi {{Gameshow}, {New}}%' 

Это сводит меня с ума.

Спасибо за чтение и ваша помощь

+0

Как вы его выполняете? mysql, mysqli, PDO? Проверьте ошибку, которая возвращается, например (для mysql) с mysql_error() –

+0

Как вы определяете, что «* в поле заголовка нет»? Возможно, проблема связана с извлечением данных, а не с вставкой? – eggyal

+0

Проверьте, не вернет ли он что-либо, когда используется часть строки заголовка: 'LIKE '% Keyhole%'' или аналогичный. –

ответ

0

преобразовать эти переменные в тузд строку следующим образом затем использовать в запросе

$title = mysql_real_escape_string(stripslashes($title); 
    $date = mysql_real_escape_string(stripslashes($date); 
    $pubDate = mysql_real_escape_string(stripslashes($pubDate); 
    $link = mysql_real_escape_string(stripslashes($link);