2015-09-09 3 views
-1

Эй, ребята, мне нужна быстрая помощь здесь. Поэтому я не уверен, что я испортил, но моя форма не будет размещаться в моей базе данных с использованием PHP, HTML и т. Д. Любая помощь очень ценится. Вот код.PHP Форма Вставка не работает

<?PHP 
    $server = "localhost"; 
    $username = "root"; 
    $password = "admin"; 

    $conn = new mysqli($server,$username,$password); 

    if ($conn->connect_error) { 
    die("Connection Failed"); 
    } 

    $fName = $_POST['fName']; 
    $lName = $_POST['lName']; 
    $email = $_POST['email']; 


    $sql="INSERT INTO users (fName, lName,email) 
      VALUES 
     ('$fName','$lName','$email')"; 

    mysqli_query($conn,$sql); 
    mysqli_close($conn); 


?> 
<html> 
<head> 
<meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 

</head> 
<body> 
<div class="container"> 
<div class="jumbotron"> 
</div> 

<div class="row"> 

<div class="col-sm-4"> 
    <ul> 
    <li><a href="">Help</a></li> 
    <li><a href="">Account</a></li> 
    <li><a href="">Options</a></li> 
    <li><a href="">Forms</a></li> 
    </ul> 
    </div> 

<div class="col-sm-3"> 

<form action="mysqli.php" method="post"> 
     First Name: 
    <input type="text" name="fName" value="First Name" /> 
    <br><br> 
    Last Name: 
    <input type="text" name="lName" value="Last Name" /> 
    <br><br> 
    E-Mail:<br /> 
    <input type="email" name="email" value="" /> 
    <br /><br /> 


    <input type="submit" value="Register" /> 
</form> 
</div> 
</div> 
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <!-- Include all compiled plugins (below), or include individual files as needed --> 
    <script src="js/bootstrap.min.js"></script> 

    </div> 
    </body> 
</html> 

Это соединение с базой данных, но оно не вставляет данные из моей формы. Это мой первый опыт работы с формами, но не в первый раз с использованием MySQL, PHP, Mysqli. Все комментарии и помощь с благодарностью.

+1

1. Вы не выбирающий базу данных при создании объекта MySQLi (см [руководство] (http://php.net/manual/en/mysqli .quickstart.connections.php)), поэтому он не знает, где вы вставляете. 2, Вы смешиваете ООП и процедурные. – Qirel

+0

@Qirel, второй пункт, который вы упомянули, не решит проблему op. –

+0

Это правда, но первая причина, вторая - это то, что он смешивает ООП и процедурный (он будет работать, но вы должны придерживаться того или другого);) @PedroPinheiro – Qirel

ответ

1

Во-первых, вы не выбрали базу данных:

$server = "localhost"; 
$username = "root"; 
$password = "admin"; 
$database = "YOUR_DB_NAME_HERE"; 

$conn = new mysqli($server, $username, $password, $database); 

Прочитайте руководство: http://php.net/manual/en/function.mysqli-connect.php

Plus, видя, что вы используете весь свой код на той же странице, вам необходимо использовать !empty() против ваших POST-массивов.

Отчеты об ошибках должны были указывать неопределенные уведомления об индексах.

Вы также открыты для SQL-инъекций. Используйте подготовленное заявление:

+0

это не единственная проблема с кодом OP. Посмотрите на это снова и снова, и очень внимательно ;-) –

+0

* Теперь, как я справился с этим Сэмом? * Lol @JayBlanchard –

+0

Хорошее место, взял несколько перечитанных слов. Отредактировал ответ. – MKC

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