2014-07-18 4 views
-1

Чтобы добавить новые записи в базу данных MySQL, я использовал PHP для вставки данных. Однако пока я не смог передать строки в свои поля. Однако я смог передать целые числа в поле «ID».Невозможно вставить строки в MySQL с помощью PHP

Я пробовал URL-адрес, например, www.example.com/newArticle?Headline="testString ", ответ« Записи добавлены в базу данных », но когда я смотрю на консоли, новые записи не добавлены.

PHP код:

<?PHP 

$user_name = "createyo_james"; 
$password = "password"; 
$database = "createyo_TestDatabase"; 
$server = "localhost"; 

$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 

if ($db_found) { 

$Headline = $_GET["Headline"]; 

$SQL = "INSERT INTO Customer (Headline) VALUES ('$Headline')"; 

$result = mysql_query($SQL); 

mysql_close($db_handle); 

print "Records added to the database"; 

} 
else { 

print "Database NOT Found "; 
mysql_close($db_handle); 

} 

?> 
+1

«Записи, добавленные в базу данных», возвращаются, только если база данных найдена, если запрос не был успешным ... –

+1

Ошибки Хандера: '$ result = mysql_query ($ SQL) или die (mysql_error()); – turson

+0

OMG! 'mysql_ *' устарел! SQL-инъекционный код ... – marekful

ответ

-2

Это выглядит так, как если ваш вызов запроса неправильно.

Заменить $result=mysql_query($SQL);

с mysql_query($SQL);

+0

Пробовал без успеха. – jamesgates1

0

Это всегда предпочтительнее, чтобы проверить, если подключение к серверу прошло успешно.

Используйте следующее:

$db_handle = mysql_connect($server, $user_name, $password) or die("Connection Error"); 
$db_found = mysql_select_db($database, $db_handle) or die ("DB not selected"); 

После успешна вы можете выводить запрос, чтобы проверить, если это правильно.

echo $SQL; 

или использовать ниже:

$result = mysql_query($SQL) or die(mysql_error()); 

SQL Injection: Вы должны подтвердить свой ввод до использования в запросах

+0

Я знаю, что это успешно, так как я получаю: «Записи добавлены в базу данных» – jamesgates1

+0

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

+0

Это не значит, что он был успешным ... Вы возвращаете «Записи, добавленные в базу данных», только если db не найден, если запрос выполнен успешно. замените на if ($ result = mysql_query ($ SQL)) {echo "правильно вставлен в базу данных"; } –

0

Первое: Проверьте, если таблица MySql имеет первичный ключ и авто приращение. Второй: проверьте тип полей. Если это номер, вы не можете сохранить строку.

Смежные вопросы