Есть таблица post в базе данных и 5 полей: id, title, text_f, data_c, author.
Есть код:
<?php
mysql_connect ('localhost', 'root', 'pass');
mysql_select_db ('news_l');
$title = "Заголовок";
$author = "Автор";
$text_f = "Текст";
$data_c = date('d m y H i');
$result = mysql_query ('INSERT INTO post VALUES (0, "'.$title.'", "'.$text_f.'", "'.$data_c.'", "'.$author.'")');
if ($result == 'true')
{
echo "<p>Запись добавлена.</p>";
}
else
{
echo "<p>Запись добавить не удалось.</p>";
}
?>
Он не работает. Почему?
Если заместо переменных добавить просто текст, то все отлично добавляется:
<?php
mysql_connect ('localhost', 'root', 'pass');
mysql_select_db ('news_l');
$result = mysql_query ('INSERT INTO post VALUES (0, "Text", "Text", "Text", "Text")');
if ($result == 'true')
{
echo "<p>Запись добавлена.</p>";
}
else
{
echo "<p>Запись добавить не удалось.</p>";
}
?>
Почему этот второй код работает, а первый нет?
Примечание:
Vindicar
1. Спасибо исправлюсь.
2. Mysql_error() выводит "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00:20, "Автор")' at line 1".
3. Autoincremen у id задан.
4.
id - INT (11).
Title - VARCHAR ( 255 ).
Text_f - Text.
Data_c - VARCHAR (255).
Author - VARCHAR (255).
P. S. С PHP знаком всего полторы недели.
Примечание:
Wowan1.
Выдает все как и должно быть: "INSERT INTO post VALUES (0, "Заголовок", "Текст", "07-10-09 00:28", "Автор")"
Примечание:
Vindicar спасибо за помощь.
echo $query; Выдает: INSERT INTO post VALUES (0, 'Заголовок', 'Текст', '07-10-09 00:42', 'Автор')
Mysql_error(): Incorrect string value: '\xC7\xE0\xE3\xEE\xEB\xEE...' for column 'title' at row 1
Прогонять через mysql_escape_string() не вижу смысла экранировать нечего, хотя можно
попробовать.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.