2013-02-10 2 views
1

Я пытаюсь поместить форму ввода в свою базу данных, но это не сработает. Вот мой код:Вход php в базу данных mysql

<?php 

$host="localhost"; // Host name 
$username="removed"; // Mysql username 
$password="removed"; // Mysql password 
$db_name="removed"; // Database name 
$tbl_name="input"; // 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 values from form 
$email=$_POST['email']; 

// Insert data into mysql 
$sql="INSERT INTO $tbl_name(email) VALUES('$email')"; 
$result=mysql_query($sql); 

// if successfully insert data into database, displays message "Successful". 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='insert.php'>Back to main page</a>"; 
} 

else { 
echo "ERROR"; 
} 
?> 

<?php 
// close connection 
mysql_close(); 
?> 

привет

<form class="form-signin" method="post" action="./php/email2db.php"> 
<input type="text" name="email" class="input-block-level" placeholder="Email address"> 
<button class="btn btn-primary" type="submit">Pass The Popcorn</button> 
</form> 

Можете ли вы помочь мне получить это так, когда они из него в ней идет в базе данных? Я хочу это, и это не так, пожалуйста, помогите.

+1

«это не работает», что конкретно происходит? – element119

+4

[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (http://j.mp/XqV7Lp). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). – Kenzo

+0

Кроме того, измените '' $ host "," $ username "," $ password "' на '$ host, $ username, $ password' – element119

ответ

0


Я думаю, что ваш запрос должен выглядеть следующим образом:

<?php 

$host="localhost"; // Host name 
$username="removed"; // Mysql username 
$password="removed"; // Mysql password 
$db_name="removed"; // Database name 
$tbl_name="input"; // 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"); 
//Removed the " from $db_name, $host, $username, $password 

// Get values from form 
$email=$_POST['email']; 

// Insert data into mysql 
$sql="INSERT INTO ".$tbl_name." (email) VALUES(".$email.")"; 
//Here you have to concatenate the query from multiple parts, this is important 
//And you cant use "$tbl_name(email)" 
$result=mysql_query($sql); 

// if successfully insert data into database, displays message "Successful". 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='insert.php'>Back to main page</a>"; 
} 

else { 
echo "ERROR"; 
} 
?> 

<?php 
// close connection 
mysql_close(); 
?> 
+0

@ Мудасир Назир Серьезно? Вы даже скопировали мои комментарии в коде ... – BadJoke

0

ваш код должен быть

<?php 
$host="localhost"; // Host name 

$username="removed"; // Mysql username 
$password="removed"; // Mysql password 
$db_name="removed"; // Database name 
$tbl_name="input"; // Table name 

// Connect to server and select database. 
$conn = mysql_connect($host, $username, $password)or die("cannot connect"); 
mysql_select_db($db_name,$conn)or die("cannot select DB"); 
//Removed the " from $db_name, $host, $username, $password 
// Get values from form 
$email=$_POST['email']; 
// Insert data into mysql 
$sql="INSERT INTO `".$tbl_name."` (`email`) VALUES('".$email."')"; 
//Here you have to concatenate the query from multiple parts, this is important 
$result=mysql_query($sql); 
// if successfully insert data into database, displays message "Successful". 
if($result) 
{ 
    echo "Successful"; 
    echo "<br/>"; 
    echo "<a href='insert.php'>Back to main page</a>"; 
} 

else 
{ 
    echo "ERROR"; 
} 
?> 
0

С помощью INSERT INTO $tbl_name(email) VALUES('$email') вы в основном говорят, что название вашей таблицы $ tbl_name (электронная почта) как есть, это не так. Вам нужно переписать sql как INSERT INTO ". $ Tbl_name." (электронная почта) VALUES («. $ email.»)

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