2012-04-07 2 views
0

Привет, я делаю небольшой проект с базами данных (не слишком много опыта с ними). Я работаю с mySQL и php, имея немного проблем с php и размещая информацию из формы HTML в базе данных.Добавление информации в базу данных с помощью php

Вот код:

<?php 
$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name="tags"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// get data that sent from form 
$s_name=$_GET['name']; 
$s_system=$_GET['system']; 
$s_cate=$_GET['cate']; 

$sql="INSERT INTO $tbl_name(name,system,cate)VALUES('$s_name', '$s_system', '$s_cate')"; 
$result=mysql_query($sql); 

if($result){ 
echo "Successful<BR>"; 
echo "<a href=mainforum.php>View your topic</a>"; 
} 
else { 
echo "ERROR"; 
} 
mysql_close(); 
?> 

Если кто-то может помочь мне объяснить, что я делаю не так, сколько бы очень цениться.

БЛАГОДАРЯ

Вот ссылка на то, что я пытаюсь сделать:

http://socialsoftware.purchase.edu/roger-p.king/database2/enter_gamertag.html

+1

Попробуйте напечатать значения '$ s_name' и' $ sql', чтобы увидеть, что они содержат. –

+0

Я бы сказал, что первый способ проверить, написано ли это, - это, как сказал AJ, echo $ sql, а затем скопировать то, что он печатает на экране запросов MySQL, и посмотреть, есть ли у вас ошибка или нет. Таким образом, вы узнаете, является ли ошибка с вашим запросом INSERT или если она находится в другом месте. Как правило, я отлаживаю свои запросы ... Также вы можете объединить два эха в if ($ result) для эха «Успешно
, но вы, вероятно, знаете это уже –

ответ

0

и должны использовать $ _POST [ 'переменная'], а не $ _GET

потому что $ _GET - это массив переменных по ссылке

, такой как «http://example.com/?var=123», значение $ _GET ['var'] равно 123

переменная в форме может получить от $ _POST [ 'вар'] или $ _REQUEST [ 'вар']

+0

Нет ничего плохого в использовании GET. Если он не использует его для отправки конфиденциальной информации, это нормально использовать ПОЛУЧИТЬ. – Kishor

+0

может показать мне сообщение об ошибке: D –

+0

его не обязательно сообщение об ошибке его просто, когда вы отправляете форум, он принимает проверку if else и не публикует то, что вводится в форме – user1308214

0

$query = mysql_query("INSERT INTO '$tbl_name'(name,system,cate)VALUES('$s_name', '$s_system', '$s_cate')";

Это должно сделать, или если вы делаете это ваш путь в 2-х линий,

$sql="INSERT INTO '$tbl_name'(name,system,cate)VALUES('$s_name', '$s_system', '$s_cate')";

$result=mysql_query($sql);

+0

Я просто попробовал это и это все еще не работает. все еще выдавая ошибку выражения else. – user1308214

+0

Не могли бы я создать поля на phpmyadmin? – user1308214

+0

Вы можете скопировать ошибку, которую вы запускаете? – Kishor

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