2016-08-01 7 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); 

をエピソードテーブルを作成するために使用されるコマンドラインが問題である。このコマンドを使用して、私のテーブルにデータを挿入していこのコマンドを使用すると、$ enumというエピソード列が表示されます。

$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の誤植です。 THANX to Norbert van Nobelen :)

関連する問題