2012-12-08 4 views
0

데이터베이스에 문자열을 추가 할 수 없지만 그 이유는 모르지만 빈 문자열 만 추가됩니다. 나는 주요 문제는 코드 (PHP)의이 부분에 있다고 생각 :여러 문자열 (데이터베이스 입력)에서 여러 문자열 추가 (텍스트 입력)

$word=$_POST[".$i."]; 
mysql_query("INSERT INTO words(word) VALUES('$word')",$connection); 

가 나는 데이터베이스 (텍스트 입력)들에서 얻을, 여러 문자열을 추가 할 필요가

전체 코드는 여기에 있습니다 :

<html> 
<head> 
<title>Admin Panel (Second Page)</title>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head> 

<body> 


<?php 
error_reporting(0); 

$user="root"; 
$pass=""; 

$connection = mysql_connect("localhost",$user,$pass); 

mysql_query("CREATE DATABASE IF NOT EXISTS quiz",$connection); 
mysql_select_db("quiz",$connection); 

mysql_query("CREATE TABLE IF NOT EXISTS words(id MEDIUMINT NOT NULL AUTO_INCREMENT,word TEXT,PRIMARY KEY(id))",$connection); 

    $number = $_POST['numberOfWords']; 

echo "<form action=SecondAdminPage.php method=POST ENCTYPE='multipart/form-data'>"; 



    for($i=1; $i<=$number; $i++) 
    { 
     echo "<input type='text' name='$i'>"; 

     $word=$_POST[$i]; 

     mysql_query("INSERT INTO words(word) VALUES('$word')",$connection); 
    } 



    echo "<input type='submit' value='Save'>"; 

?> 

</form> 

</body> 

</html> 

가을 제거하면

+0

http://xkcd.com/327/ – Andreas

+0

@Andreas의 의미는 무엇입니까 : ** 경고! ** 귀하의 코드는 [SQL 주입 취약점] (http://en.wikipedia.org/wiki)을 앓고 있습니다./SQL_injection). [PDO] (http://php.net/book.pdo) 또는 [mysqli] (http://php.net/book.mysqli)로 전환해야 [매개 변수가있는 쿼리가있는 준비된 문구]를 사용할 수 있습니다 (http://en.wikipedia.org/wiki/Prepared_statement). – Charles

+0

당신이'$ word = $ _ POST [$ i];를 얻지 못했기 때문입니다 ... 양식이 제출되면 값을 얻을 수 있지만 양식을 제출하지 않고 삽입합니다 .. secondadmin에 db 쿼리를 작성하십시오 .php –

답변

-1

감사귀하의 페이지에 PHP 오류가 표시됩니다.

연결이 제대로 설정되지 않았을 수 있습니다.

또한 mysql 확장이 사용되지 않습니다. 대신 mysqli을 사용하십시오.

+0

이것은 대답이 아니라 주석입니다. – Charles

+0

오류가 없으므로 도움이되지 않습니다. – Costa