-1
我想將記錄添加到數據庫中。每條記錄都有相應的圖像。記錄正在插入數據庫中,但它不適用於圖像。我得到這個錯誤「連接成功注意:未定義的變量:sql在C:\ xampp \ htdocs \ Syokimaufc \ addplayer.php在35行錯誤:查詢是空的」我該如何解決這個問題?認沽將數據添加到數據庫html表格
<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());
}
「image」列的數據類型是什麼?它是['BLOB'](http://dev.mysql.com/doc/refman/5.7/en/blob.html)嗎?你想在哪裏存儲上傳的圖像?在系統或「BLOB」列中的文件夾中? –
暫停一下,並考慮在非常大的文件上執行mysql_real_escape的開銷。你真的想將圖像保存在數據庫中嗎? – e4c5