Если вы явно не перечислите столбцы в своем операторе вставки, вы должны включить все их в VALUES ()
, так что да, вам нужно будет включить id
Лучше было бы перечислить столбцы:
mysql_query("INSERT INTO `test` (title, `desc`, photo) VALUES ('$title', '$desc', '$pic')") ;
Обратите внимание, что desc
взято в кавычки выше. Это зарезервированное ключевое слово MySQL и там есть синтаксическая ошибка, если не указано в кавычках.
Также, пожалуйста, избегайте ввода значений против SQL-инъекции!
$title = mysql_real_escape_string($_POST['title']);
$desc = mysql_real_escape_string($_POST['desc']);
$pic = (mysql_real_escape_string($_FILES['photo']['name']));
// And your space replacement
$pic = str_replace(" ","", $pic);
// Now that it's cleaned up, you can insert.
mysql_query("INSERT INTO `test` (title, `desc`, photo) VALUES ('$title', '$desc', '$pic')") ;