2014-01-20 4 views
-2

Кто-то мне помогает, потому что я действительно смущен, почему этот примерный код не будет помещать данные в базу данных. Да, он может подключиться к серверу успешно, но он не будет помещать данные в таблицу базы данных, помогать и объяснять. Заранее спасибо.Невозможно поместить данные в базу данных, PHP

<html> 
    <head></head> 
    <body> 
    <form method='post' action='#'> 
    <table> 
    <tr> 
    <td>Username</td><td><input type='text' name='username'/></td> 
    </tr> 
    <tr> 
    <td>Password</td><td><input type='password' name='password'/></td> 
    </tr> 
    <tr> 
    <td></td><td><input type='submit' value='Login' name='button'/></td> 
    </tr> 
    </table> 
    </form> 
    <?php 
    if(isset($_POST['button'])) 
    { 
    $u_nam = $_POST['username']; 
    $pw = $_POST['password']; 
    echo $u_nam; 
    echo $pw; 
    $link = mysql_connect('localhost','root', ''); 
    if (!$link) { 
     die('Could not connect: ' . mysql_error()); 
    } 
    echo 'Connected successfully'; 
    $db_selected = mysql_select_db('test', $link); 
    if (!$db_selected) { 
     die ('Can\'t use for: ' . mysql_error()); 
    } 

    $query = "INSERT INTO user VALUES(NULL,'$u_nam', '$pw')"; 
    mysql_query($query); 
    mysql_close($link); 
    } 
    ?> 

    </body> 
    </html> 
+0

какая ошибка приходит? – Guru

+0

Если вы новичок в PHP и MySQL, вам следует серьезно подумать * не * использовать любую из функций, с которыми вы сталкиваетесь, начиная с 'mysql_'. Попробуйте найти руководства, в которых используются PDO или MySQLi. – Marty

+0

@Guru: Я использую notepad ++, поэтому я действительно не могу указать, что такое ошибка. Все, что я знаю, это не будет вставлять/помещать данные в таблицу базы данных, которая называется «пользователь». – ChocoLover

ответ

0

код вставки:$query = "INSERT INTO user VALUES(NULL,'$u_nam', '$pw')";

1: почему вы вставляете NULL, если столбец является первичным ключом, чем это будет по ошибке? и ваши данные не будут вставлены. Лучше идея использовать имя столбца и оставить и не помещать никакого значения для столбца, который является первичным ключом и автоматическим приращением.

так:

$query = "INSERT INTO user(a,b) VALUES('$u_nam', '$pw')"; 

2: пытаются отладить:

use mysql_error(). 

так:

$query = "INSERT INTO user VALUES('$u_nam', '$pw')"; 

mysql_query($query) or die(mysql_error()); 
+0

OMG, он работает ... НО зачем он дублирует данные в таблице? Ah Я имею в виду, что я ввел только одни данные, но затем дублировал. – ChocoLover

+0

@ChocoLover вы можете нажать кнопку отправки дважды :) –

+0

нет Я только нажимаю его один раз mmmm Я думаю, что его из-за запроса mysql_query ($) ... в любом случае спасибо^_^ – ChocoLover

-2

Попробуйте этот код:

<body> 
<form method='post' action='#'> 

<table> 
<tr> 
<td>Username</td><td><input type='text' name='username'/></td> 
</tr> 
<tr> 
<td>Password</td><td><input type='password' name='password'/></td> 
</tr> 
<tr> 
<td></td><td><input type='submit' value='Login' name='button'/></td> 
</tr> 
</table> 

</form> 

<?php 

if(isset($_POST['submit'])) 
{ 
$u_nam = $_POST['username']; 
$pw = $_POST['password']; 

echo $u_nam; 
echo $pw; 


$link = mysql_connect('localhost','root', ''); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 


$db_selected = mysql_select_db('test', $link); 
if (!$db_selected) { 
    die ('Can\'t use for: ' . mysql_error()); 
} 

$query = "INSERT INTO user VALUES('$u_nam', '$pw')"; 

mysql_query($query); 

mysql_close($link); 

} 
?> 

</body> 

</html> 
+0

Я не знаю, будет ли это работать или нет, но если это так, здесь нет ничего, чтобы помочь OP понять, почему это решение. –

+0

все тот же -_-. , , что вы отредактировали на нем – ChocoLover

+0

У вас проблемы с вставкой данных в базу данных? – Guru

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