-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