2014-12-13 2 views
-2

웹 사이트를 만들려고합니다. 새로운 테스트 행을 삽입 할 때 phpmyadmin에서 생성 된 일부 MySQL 코드를 사용하려고했습니다. 하지만이 코드를 실행하면 데이터베이스에 삽입되지 않습니다.PHP mysql 코드가 실행되지 않습니다

connection.php

<?php 

define("DB_SERVER", "localhost"); 
define("DB_USER", "root"); 
define("DB_PASS", "root"); 
define("DB_NAME", "spelling"); 

$connection = new mysqli(DB_SERVER,DB_USER,DB_PASS,DB_NAME); 

if (mysqli_connect_errno()) { 
    exit("Database connection failed: " . mysqli_connect_error());}; 
?> 

addstudent.php

<?php session_start(); 
require_once("connection.php"); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
    <title> 
    Add a student 
    </title> 
</head> 
<body> 
<form action="addstudent.php" method="post"> 
     Full Name: 
     <input type="text" name="fullname" autocomplete="off"> 
     <br /> 
     Username: 
     <input type="text" name="username" autocomplete="off"> 
     <br /> 
     Password: 
     <input type="password" name="password" autocomplete="off"> 
     <br /> 
     <br /> 
     <input type="submit" value="Add Student" name="submit"> 
     </form> 
<?php 

if(isset($_POST["submit"])){ 
    $_POST = array_map("strip_tags",$_POST); 
    $_POST = array_map("trim",$_POST); 

    $fullname = $_POST["fullname"]; 
    $username = $_POST["username"]; 
    $password = $_POST["password"]; 

    $query = "INSERT INTO `spelling`.`students` (`SID`, `fullname`, `CID`, `username`, `password`) VALUES (NULL, '".$fullname."', '1', '".$username."', '".$password."')"; 
    } 
?> 
</body> 
</html> 
+0

exit("Database connection failed: " . mysqli_connect_error());}; // <= 

변화 그 안에 부유 ;를 제거합니다. – Gumbo

+0

그러면 쿼리는 어디에 실행됩니까? 쿼리 문자열을 작성한다고해서 쿼리를 수행하는 것은 아닙니다. –

+0

게다가, 당신의 코드는 SQL injections에 취약합니다; [PHP로 방지하는 방법] (http://stackoverflow.com/q/60174/53114)을 읽어야합니다. – Gumbo

답변

3

당신은 당신의 쿼리를 실행하는 것을 잊었다 :

$query = "INSERT INTO `spelling`.`students` (`SID`, `fullname`, `CID`, `username`, `password`) VALUES (NULL, '".$fullname."', '1', '".$username."', '".$password."')"; 
$result = mysqli_query($connection, $query); 

또는 동시에 오류를 검사 .

$result = mysqli_query($connection, $query) or die(mysqli_error($connection)); 

또한 쿼리를 실행하지 않는

if (mysqli_connect_errno()) { 
    exit("Database connection failed: " . mysqli_connect_error()); 
    } 
+0

내 코드가 여전히 학생을 데이터베이스에 추가하지 않으므로 문제가 어디에서 발생합니까? – marcnetz

+0

MySQL보고가 잘못된 것을 확인하려면 mysqli_error()를 확인하십시오. –

+0

@marcnetz 답변을 다시로드하십시오. 변수 배치에 약간의 오류가있었습니다. –

관련 문제