2016-08-01 10 views
0

나는 문제는 정수 값을 테이블에 데이터를 삽입 할 수 없습니다

//get values from POST 
$ftitle=$_POST["ftitle"]; 
$enum = intval($_POST["enum"]); 
$esrc = $_POST["esrc"]; 

//check if $enum is integer 
if(!gettype($enum) == "integer"){die("\$num isn't integer");} 

$sql = "INSERT INTO episodes (ftitle,episode,embed_url) 
VALUES ('$ftitle','$enum','$esrc')"; 
if(!mysqli_query($conn, $sql)){die('cant write data to database');} 

내가

$sql = "CREATE TABLE episodes(
id INT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
ftitle VARCHAR(255) UNIQUE, 
epiosde INT(4), 
embed_url VARCHAR(255), 
create_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP)"; 
mysqli_query($conn, $sql); 

을 에피소드 테이블을 만드는 데 사용되는 명령 줄 문제가이 명령을 사용하여 내 테이블에 데이터를 삽입이 이 명령을 사용할 때 값 열거 형 에피소드 열이 표시됩니다.

$sql = "INSERT INTO episodes (ftitle,embed_url) 
VALUES ('$ftitle','$esrc')"; 
if(!mysqli_query($conn, $sql)){die('cant write data to database');} 

모든 것이 잘 작동합니다. 2 일 및 Iam이이 문제를 파악하려고 시도했지만 아무런 도움이되지 않기 때문에 도움을받을 수 있습니다.

+1

SQL 인젝션 및 PDO에 대해 읽어보십시오. 사용하기 쉽고 문제를 해결할 가능성이 큽니다. –

+1

그리고'episode' 대신 테이블 정의'epiosde'에 오타가 있습니다. –

+1

덧붙여 말하자면'$ enum'은'intval' 명령문의 결과이기 때문에 항상 정수가 될 것이므로'gettype' 체크 실제로 아무 것도하지 않습니다. –

답변

0

주된 문제는 실제로 에피소드가 아니라 내 테이블 정의 epiosde의 오타입니다. Norbert van Nobelen에게 THANX :

관련 문제