2013-07-16 5 views
1

У меня очень странная проблема, а также напряженное время, пытаясь понять это.Невозможно вставить в базу данных с помощью php и mysqli_query

Используя форму, я пытался вставить данные в свою базу данных. В исходном запросе SQL были переменные для значений, но это не сработало. Попробовав несколько вещей и используя mysqli_error, я не смог найти проблему. Затем я заменил все переменные на строки, но мои данные не вставляются.

Я пробовал приведенный ниже код, вложенный среди других битов PHP, не работает. Я попробовал его на другой странице, не работал. Поэтому я раздели все и оставил только ссылку mysql_connect и mysqli_query, и она все равно не будет вставляться.

Сообщения об ошибках mysqli_error ВСЕГДА, даже если нет ничего такого, что когда-либо было связано с mysql (попробовав его в дальнейшем на странице, на разных страницах и на собственной странице) в строке 2, следующее: 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 '' at line 2 и я просто не могу понять.

Мой код ниже выглядит следующим образом:

$link = mysqli_connect("host", "username", "password", "database") or die("cannot connect")); 
$try = mysqli_query($link,"INSERT INTO troubleshooting_files (`title`, `asset`, `image`, `category`, `file`) 
VALUES ('title', 'asset', 'image', 'cat', 'file'"); 
//$try = mysqli_query($link,"INSERT INTO troubleshooting_users (`name`) 
//VALUES ('title'"); 
if($try === false){ 
    echo 'error - '; 
    echo mysqli_error($link); 
} else{ 
     echo 'all good'; 
    } 

Я попытался ввести только одно поле, я пытался без `S в именах полей, я попробовал другое имя таблицы и он не работает. phpMyAdmin вставляет данные в таблицы в порядке. У меня также есть PHP-код в другом каталоге на сервере, который вставляет данные в эту базу данных, хотя этот код по-прежнему использует устаревшую mysql_query в минуту. У меня также есть код, который вставляет строки на этом сервере в другую базу данных. Я предполагаю, что база данных должна быть хорошей, если PMA может вставить данные в порядке, а в другом месте в моем сценарии, другие функции mysqli_query работают нормально, так как я могу отлично отображать объекты и обновлять таблицы.

Я действительно не знаю, что еще попробовать. Любые идеи были бы замечательными.

EDIT: Спасибо всем, это пропало) после значений! Если бы только mysqli_error мог хотя бы намекнуть на это, а не давать мне ничего полезного.

+0

просто попробовать поставить имя файла troubleshooting_files в 's –

+0

@lord_linus, к сожалению, это все равно вызывает ту же ошибку – Nathan

+1

Эй, если у вас есть ответ, то, пожалуйста, примите ответ и дайте ответы на вопросы –

ответ

3

закрывающая скобка для ЗНАЧЕНИЯ не хватает ...

$try = mysqli_query($link,"INSERT INTO troubleshooting_files (`title`, `asset`, `image`, `category`, `file`) 
VALUES ('title', 'asset', 'image', 'cat', 'file')"); 
+0

На самом деле я не могу в это поверить. Но спасибо, это была проблема! Желание mysqli_error могло бы сделать это немного легче! Когда я увижу ваш ответ, сначала я приму его – Nathan

3

у вас есть недостающие скобки

VALUES ('title', 'asset', 'image', 'cat', 'file') "); 
                ^^--------here missing bracket 
+0

Изменение теста не имеет значения, поскольку ошибка mysql_query в любом случае будет равна === false. – Anigel

1

вы пропустили кронштейн для значений()

$try = mysqli_query($link,"INSERT INTO troubleshooting_files (`title`, `asset`, `image`, `category`, `file`) 
VALUES ('title', 'asset', 'image', 'cat', 'file')"); 
Смежные вопросы