2015-08-15 4 views
-1

Я пробовал следующий код, но он не работает.Невозможно вставить данные в базу данных с php и sql

Code

<?php 
if (!empty($_POST)) { 
    $mysqli = new mysqli('localhost', 'root', '123', 'users'); 

    if ($mysqli->connect_error) { 
     die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
    } 

    $sql = "INSERT INTO users (username, email) VALUES ('{$mysqli->real_escape_string($_POST['username'])}', '{$mysqli->real_escape_string($_POST['email'])}')"; 
    $insert = $mysqli->query($sql); 

    if ($insert) { 
     echo "Success! Row ID: {$mysqli->insert_id}"; 
    } else { 
     die("Error: {$mysqli->errno} : {$mysqli->error}"); 
    } 

    $mysqli->close(); 
} 
?> 
<form action="main.php" method="post"> 
    <input type="text" id="SIMOMO" name="username" minlegth="5" maxlength="30" class="pad" required> 
    <input type="text" ID="FLOBIT"name="email" class="pad" required > 
    <input type="submit"> 
</form> 
+0

Вы можете обратиться в мой ответ здесь http://stackoverflow.com/questions/31937421/trying-to-input- data-to-sql-table-using-php-html-from-registration-form/31937479 # 31937479 – aldrin27

+0

В первой строке отображается ошибка – Murad

+0

Здесь ваш код отлично работает. Изменено 'action =" main.php "' на имя моего файла. Очевидно, я изменил данные для входа. PHP 5.3.29, MySQL 5.5.16. –

ответ

-1

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

<?php 
if ($_POST['sub']) { 
$server = "localhost"; 
$username = "yourusernamehere"; 
$pass = "yourpasswordhere"; 
$db = "users"; 
// Create connection 
$mysqli = new mysqli($server, $username, $pass, $db); 
// Check connection 
if ($mysqli->connect_error) { 
    die("Connection failed: " . $mysqli->connect_error); 
} 
echo "Connected successfully"; 


$uname = mysql_escape_string($_POST['username']) 
$mail = mysql_escape_string($_POST['email']);   
$sql = "INSERT INTO users (username, email) VALUES ('$uname', '$mail')"; 
$insert = $mysqli->query($sql); 
if ($insert){ 
    echo "Success! Row ID: {$mysqli->insert_id}"; 
    header("Location:main.php"); 
    } else { 
    die("Error: {$mysqli->errno} : {$mysqli->error}"); 
    } 
    $mysqli->close(); 
     } 
?> 


<!DOCTYPE html> 
<html> 
<body> 
     <form action = "" method = "POST"> 
     <label>Enter your Username:</label> 
     <input type="text" name="username" required> 
     <label>Enter your Email:</label>   
     <input type="email" name="email" required > 
     <input type="hidden" name = "check"> 
     <input type="submit" name = "sub" value = "INSERT"> 
     </form> 
</body> 
</html> 

Your database name as it lookes on the third line is 'users' and so is the name of your table that you are trying to INSERT INTO into "users' line 10. Are you sure your are not messing up there?

+0

да, я назвал его одинаковым. – Murad

+0

@Murad вы пытались сделать это, оставив 'action =" "' пустым? – user5173426

+0

Да, это сработало, но я хочу, чтобы он перешел на другую страницу после регистрации. – Murad

0
<?php 
if (! empty($_POST)) { 
    // Connect to MySQL 
    $mysqli = new mysqli('localhost', 'root', '123', 'users'); 
    // Check connection 
    if ($mysqli->connect_error) { 
    die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
    } 
    $sql = "INSERT INTO users (`username`, `email`) VALUES ('$_POST['username']', '$_POST['email']')"; 
    $insert = $mysqli->query($sql); 

    if ($insert) { 
    echo "Success! Row ID: {$mysqli->insert_id}"; 
    } else { 
    die("Error: {$mysqli->errno} : {$mysqli->error}"); 
    } 

    $mysqli->close(); 
} 
?> 
<form action="main.php" method="post"> 
<input type="text" id="SIMOMO" name="username" minlegth="5" maxlength="30" class="pad" required> 
<input type="text" ID="FLOBIT"name="email" class="pad" required > 
<input type="submit"> 
</form> 
+0

неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING – Murad

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