2015-10-07 4 views
2

Я трачу часы на эту проблему, и я схожу с ума. Я просто не могу найти в этом никакой логики.
http://1.1m.yt/DZQnw5ZtV.png
Следующий запрос mysqli;MySQL Неизвестный столб в 'списке полей'

$query = "INSERT INTO users (user_id, user_name, user_hash, user_signup_date, game_accounts) VALUES (NULL , 'bob', 'bob', '2000/1/1', 'derp')"; 
mysqli_query($con, $query) or die(mysqli_error($con)); 

Ошибка при передаче:

указан столбец «game_accounts» в «списке поля»

Однако странная часть является то, что, когда я выполнить следующую команду в базе данных MySQL консоли;

INSERT INTO users (user_id, user_name, user_hash, user_signup_date, game_accounts) VALUES (NULL , 'bob', 'bob', '2000/1/1', 'derp'); 

Это прекрасно работает ...
http://3.1m.yt/IEje4Zr_i.png
Любые идеи по этой проблеме очень ценятся.

ПРИМЕЧАНИЕ: Соединение с db в порядке. Все остальные запросы работают правильно.
ОБНОВЛЕНИЕ:^очевидно, нет. ДБ работал отлично, это был неправильный db.

UPDATE: уронил столбец game_accounts и изменил запрос;

$query = "INSERT INTO users (user_id, user_name, user_hash, user_signup_date) VALUES (NULL , 'bob', 'bob', '2000/01/01')"; 

И теперь она не дает ошибку больше, однако он не будет поместить данные в БД ..

+9

Возможно, вы подключены к тем же серверам/схеме? – Uueerdo

+0

@uueerdo все остальные запросы работают просто отлично, поэтому я полагаю, что можно с уверенностью сказать, что они есть. – shadryck

+0

Возможно, это было переименовано? Я бы предложил удалить столбец и повторно добавить его. – NINtender

ответ

3

При разработке для тестирования баз данных (всегда хорошая практика), если относительно простой запрос вы знаете, должны работать не убедитесь, что вы смотрите на правой базе данных.

+0

Yikes, это должно быть помечено под ответом «Является ли это подключенным». Хорошая работа. – NINtender

0

Слишком долго для комментария.
Пожалуйста, замените yourDBNameHere своим фактическим именем базы данных, попробуйте следующий код (после проверки того, что он не делает что-то вредоносное, конечно) и добавьте вывод в текст вопроса.

$query = "INSERT INTO users (user_id, user_name, user_hash, user_signup_date, game_accounts) VALUES (NULL , 'bob', 'bob', '2000/1/1', 'derp')"; 
$result = mysqli_query($con, $query); 
if (!$result) { 
    $query = " 
     SELECT 
      COLUMN_NAME, DATA_TYPE 
     FROM 
      INFORMATION_SCHEMA.COLUMNS 
     WHERE 
      table_name = 'users' 
      AND table_schema = 'yourDBNameHere' 
    "; 
    $result = $con->query($query) or die('my my my'); 
    while($row=$result->fetch_assoc()) { 
     if (false!==strpos($row['COLUMN_NAME'], 'game')) { 
      var_export($row); 
     } 
     else { 
      echo join(', ', $row), "\r\n"; 
     } 
    } 
} 
Смежные вопросы