Ich versuche, Datensätze in eine Datenbank aufzunehmen. Jeder Datensatz hat ein entsprechendes Bild. Die Datensätze werden in die Datenbank eingefügt, funktionieren jedoch nicht für das Bild. Ich bekomme diesen Fehler "erfolgreich verbunden" Hinweis: Undefinierte Variable: sql in C: \ xampp \ htdocs \ Syokimaufc \ addplayer.php in Zeile 35 Fehler: Abfrage war leer "Wie kann ich das lösen?Bild zu Datenbank-HTML-Formular hinzufügen
<form action="addplayer.php"method ="post" enctype="multipart/form- data">
<p> id: <input type="text" name="playerid"/></p>
<p> Name: <input type="text" name="name"/></p>
<p> Age: <input type="text" name="age"/></p>
<p> Position: <input type="text" name="position"/></p>
<p> Nationality: <input type="text" name="nationality"/></p>
<p> Photo: <input type="file" name="image"/></p>
<input type="submit" value="submit"/>
<form/>
<?php
require 'connection.php';
$id = filter_input(INPUT_POST, 'playerid');
$name = filter_input(INPUT_POST, 'name');
$age = filter_input(INPUT_POST, 'age');
$position = filter_input(INPUT_POST, 'position');
$nationality = filter_input(INPUT_POST, 'nationality');
$_id = mysql_real_escape_string($id);
$_name = mysql_real_escape_string($name);
$_age = mysql_real_escape_string($age);
$_position = mysql_real_escape_string($position);
$_nationality = mysql_real_escape_string($nationality);
if (isset($_POST['submit']))
{
$imageName = mysql_real_escape_string($_FILES ["image"]["name"]);
$imageData = mysql_real_escape(file_get_contents($_FILES["image"]["tmp_name"]));
$imageType = mysql_real_escape_string($_FILES["image"]["name"]);
if (substr($imageType,0,5) == "image")
{
$sql = "INSERT INTO players (playerid, name, age, position, nationality, iname, image) VALUES ('$_id', '$_name', '$_age', '$_position', '$_nationality', '$imageName', '$imageData')";
}
else
{
echo "only images are allowed";
}
}
if (!mysql_query($sql)){
die('Error: ' . mysql_error());
}
Was ist der Datentyp Ihrer Spalte 'Image'? Ist es ein ['BLOB'' (http://dev.mysql.com/doc/refman/5.7/en/blob.html)? Wo möchten Sie die hochgeladenen Bilder speichern? In einem Ordner in Ihrem System oder in einer 'BLOB'-Spalte? –
Stoppen Sie für einen Moment und denken Sie an den Overhead für die Ausführung von mysql_real_escape in sehr großen Dateien. Möchten Sie Bilder wirklich in einer Datenbank speichern? – e4c5