Php Sql未将Select选项放置到数据库?

Php Sql未将Select选项放置到数据库?,php,html,mysql,sql,Php,Html,Mysql,Sql,对于上传到网站的照片或视频,我有三个选项,我有这个选择选项来选择上传的文件,比如标签。它不会将其放入数据库中。这是我的密码: 这就是我呼吁它的地方 $type1 = $_POST['type']; $type = mysql_real_escape_string($type); $sql = mysql_query("INSERT INTO photos SET photo='$newname', title='$title', date='$date', author=

对于上传到网站的照片或视频,我有三个选项,我有这个选择选项来选择上传的文件,比如标签。它不会将其放入数据库中。这是我的密码:

这就是我呼吁它的地方

$type1 = $_POST['type'];
$type = mysql_real_escape_string($type);

          $sql = mysql_query("INSERT INTO photos 
SET photo='$newname', title='$title', date='$date', author='$by' , type='$type'")
这是它的产地

<select name="type" id="type">
  <option value="Pic">Picture</option>
  <option value="Video">Video</option>
  <option value="Gif">Animated picture (GIF)</option>
</select>

图画
视频
动画图片(GIF)

使用此
插入
语法

INSERT INTO photos (photo, title, date, author, type )
VALUES ('$newname', '$title', '$date','$by' , '$type')
作为旁注,查询在
SQL注入时容易受到攻击。请阅读下面的文章如何预防它


    • 您发布的代码是真实代码吗?看起来,当您转义时,您没有使用Select中的实际数据

      $type = mysql_real_escape_string($type); // You are escaping the $type variable, which is NULL, it was just declared
      
      但您正在使用此变量名从Select读取数据

      $type1 = $_POST['type'];
      

      所以您在某处使用了
      $type1
      ,在其他地方使用了
      $type

      第二行使用$type,但只定义了$type1变量。打字错误:)