MYSQL INSERT проблема - PullRequest
       1

MYSQL INSERT проблема

0 голосов
/ 22 апреля 2011
$body = $_POST['post'];
$submit = $_POST['submit'];
$date = date("Y-m-d");
require('php/connect.php');

if($submit)
{

$query = mysql_query("INSERT INTO news (`id`, `body`, `date`) VALUES (NULL, '".$body."', '".$date."')");
header("Location: index.php");
}

Я не понимаю, почему это не работает, я взял запрос прямо из PHP моего администратора после написания строки, имитирующей себя перед рукой, и она все еще не работает, может кто-нибудь помочь?

Ответы [ 3 ]

2 голосов
/ 22 апреля 2011

вы определенно должны экранировать свои входные значения, используя mysql_real_escape_string

С mysql_error вы можете распечатать сообщение об ошибке, но вам нужен идентификатор соединения в качестве параметра.

1 голос
/ 22 апреля 2011

Я просто предлагаю обработать ошибку MySQL

$query = mysql_query("INSERT INTO news (`id`, `body`, `date`) VALUES (NULL, '".$body."', '".$date."')")
 or trigger_error(mysql_error());

и если id является первичным ключом, который не может быть нулевым

вы должны выйти из пользовательского ввода, используя mysql_real_escape_string .

Что произойдет, если я введу значение "that's it " в ваш ввод $body, ваш запрос не будет выполнен.

0 голосов
/ 22 апреля 2011

Закомментируйте свой заголовок ("Location: index.php"); и добавить или умереть (mysql_error ()); в конце вашего кода запроса, который покажет вам, что пошло не так. Вы также должны «mysql_real_escape_string» свои пользовательские данные, прежде чем вставить его в базу данных.

$body = mysql_real_escape_string($_POST['post']);
$submit = $_POST['submit'];
$date = date("Y-m-d");
require('php/connect.php');

if($submit)
{

$query = mysql_query("INSERT INTO news (`id`, `body`, `date`) VALUES (NULL, '$body', '$date')") or die(mysql_error());
//header("Location: index.php");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...