2010-08-18 3 views
4

Я пытаюсь научиться MySQL и иметь некоторые проблемы с обновлением/добавления данных в таблицуБрус Обновление баз данных

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

<?php 

$conn = mysql_connect($dbhost, $dbuser, $dbpass); 

if(!$conn) { die("Could not connect"); } 
$dbname = "test"; 
mysql_select_db($dbname, $conn); 

mysql_query("INSERT INTO 'test'.'table1' 
       ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8') 
      VALUES 
       ('test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8')"); 

mysql_close($conn); 

?> 

Может ли кто-нибудь сказать мне, что случилось с этим?

+0

Вы пробовали запустить заявление как есть в PhpMyAdmin? test.table1 не обязательно должен быть в одинарных кавычках или обратных отрезках для этого, но обратные ссылки будут более достоверными. Помимо этого, вы уверены, что ваш код даже выполняется? –

+0

все сообщения об ошибках возвращены? – LesterDove

+0

«У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования« – Kartik

ответ

2

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

INSERT INTO table1 (A1, A2, A3, A4, A5, A6, A7, A8) 
VALUES ('test1', 'test2', 'test3', 'test4', etc.....); 
0

Прежде всего, убедитесь, что база данных была выбрана хорошо:

mysql_select_db($dbname, $conn) or die('Could not select the database'); 

Есть вероятность того, что есть какая-то ошибка в запросе, причина, почему данные не добавляются, попробуйте добавить or die(mysql_error()) после этой mysql_query функции чтобы увидеть возможные ошибки:

mysql_query("your query....") or die(mysql_error()); 

Также нет необходимости указывать имя базы данных:

'test'.'table1' 

Просто введите table1 в ваш запрос.

Включение отчетов об ошибках также полезно:

ini_set('display_errors', true); 
error_reporting(E_ALL); 
+0

». У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильный синтаксис для использования « Не могли бы вы рассказать мне, что случилось с запросом? – Kartik

0

Вот подсказка для вас вообще при работе с MYSQL (или любой БД SQL). Если вы не знаете, как что-то сделать, или вы ошибаетесь. Используйте предоставленные инструменты GUI для выполнения задания, а затем проверьте полученный код.

Введите PHPMyAdmin, вставьте, а затем скопируйте и вставьте код, чтобы увидеть, что вы делаете неправильно.

+0

вот как я получил код запроса, но, похоже, не работает – Kartik

2

Не забудьте сделать проверку ошибок, чтобы увидеть, если соединение MySQL имеет проблемы тоже:

if(!mysql_select_db($dbname, $conn)) { 
    echo mysql_error($conn); 
}else { 

    if(!mysql_query("INSERT INTO 'test'.'table1' ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8') VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8')")) { 
     echo mysql_error($conn); 
    } 
} 
Смежные вопросы