2016-08-01 5 views
0

Ich habe Problem Daten in meine Tabelle einfügen diesem Befehlkann keine Daten in die Tabelle mit Integer-Wert einfügen

//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');} 

die Befehlszeile i Tabelle Folge erstellt haben

$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); 

das Problem ist, mit der Episodenspalte mit Wert $ enum, weil, wenn ich diesen Befehl verwende

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

alles gut funktioniert jede Hilfe ist willkommen, seit zwei Tagen und ich versuche, dieses Problem zu lösen, aber kein Glück.

+1

Lesen Sie auf SQL-Injektion und auf PDO. Einfach zu bedienen und löst höchstwahrscheinlich Ihr Problem. –

+1

Und Sie haben nur einen Tippfehler in Ihrer Tabellendefinition 'epiosde' anstelle von' episode' –

+1

Übrigens, weil '$ enum' das Ergebnis einer 'intval'-Anweisung ist, wird es immer eine ganze Zahl sein, also die' gettype'-Prüfung tut wirklich nichts. –

Antwort

0

das Hauptproblem ist wirklich nur ein Tippfehler in meiner Tabelle Definition Epiosde statt Episode. THANX zu Norbert van Nobelen :)