2014-11-27 5 views
-3

Значения регистрационной формы не вводятся в базу данных в php. Он показывает ошибку при использовании mysql_connect, и когда я использую mysqli_connect, значения не вставляются в базу данных.значения регистрационной формы не вставляются в базу данных в php

form.html

<html> 
<body> 
<form action="signup.php" method="post"> 
username <input type="text" name="username"> 
password <input type="password" name="password"> 
<input type="submit" value="ok" name="submit"> 
</body> 
</html> 

signup.php

<?php 
$connection=mysqli_connect("localhost","root","","form") or die("not connected"); 

if(ISSET($_POST['SUBMIT'])){ 

$username=mysql_real_escape_string($_POST['username']); 
$password=mysql_real_escape_string($_POST['password']); 

mysql_query("insert into formval('username','password') values('$username','$password')"); 

} 
?> 
+2

Поскольку вы смешиваете '' mysql' и mysqli' –

+0

Вы смешанный '' mysqli' и mysql' и вам не нужно ставить '' 'вокруг ваших столбцов. Также как о теге конца формы? – Rizier123

+2

Просто придерживание «i» в конце ваших «теперь не работающих из-за изношенных» функций mysql_' не является идеальным. Используйте также параметризованные утверждения (если это так, проигнорируйте меня, если нет ..) – James

ответ

0

Это не работает, потому что вы смешиваете mysqlmysqli &. mysql_ устарел. Вы должны использовать mysqli_ или PDO instead.Try это -

<?php 
$connection=new mysqli("localhost","root","","form") or die("not connected"); 

if(isset($_POST['SUBMIT'])){ 

    $username=mysqli_real_escape_string($connection, $_POST['username']); 
    $password=mysqli_real_escape_string($connection, $_POST['password']); 

    mysqli_query($connection, "insert into formval(username,password) values('$username','$password')"); 

} 
?> 
+0

В чем причина -1? –

+0

В чем причина копирования/вставки нерабочего кода OP с «try this»? (никаких объяснений, запрос по-прежнему не так) – James

+0

Когда ответ был добавлен, я думаю, что все в порядке. После этого код был изменен. Я думаю, вы тоже это заметили. –

1

Это должно работать

<?php 
$connection=mysqli_connect("localhost","root","","form") or die("not connected"); 

if($_POST['username']!="" && $_POST['password']!=""){ 

    $username=mysqli_real_escape_string($connection,$_POST['username']); 
    $password=mysqli_real_escape_string($connection,$_POST['password']); 

    mysqli_query($connection,"insert into formval(username,password) values('$username','$password')"); 

} 
?>