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이이 문제를 파악하려고 시도했지만 아무런 도움이되지 않기 때문에 도움을받을 수 있습니다.
SQL 인젝션 및 PDO에 대해 읽어보십시오. 사용하기 쉽고 문제를 해결할 가능성이 큽니다. –
그리고'episode' 대신 테이블 정의'epiosde'에 오타가 있습니다. –
덧붙여 말하자면'$ enum'은'intval' 명령문의 결과이기 때문에 항상 정수가 될 것이므로'gettype' 체크 실제로 아무 것도하지 않습니다. –