SQL Insert语句,不使用$variable';s值


SQL Insert statement, does not use a $variable's value

我有一个名为$src的变量,它确实有一个值(我在插入之前检查了它)。但当我执行insert语句时,该字段会保存为空白";

我不知道问题出在哪里,我的数据库中有一个文本字段可以接受任何类型的字符。。。但它仍然没有起作用。

请有人帮帮我。

<?php
include 'fimg.class.php';
require('cone.php');
$id = $_POST['id'];
$tipo_bolsa = $_POST['tipo_bolsa'];
$titulo = $_POST['titulo'];
$imagen = $_POST['imagen'];
$descripcion = $_POST['descripcion'];
$categoria = $_POST['categoria'];
$fecha = $_POST['fecha'];
$sueldo = $_POST['sueldo'];
$idP = $_POST['idP'];
$src = "";
if (isset($_FILES["file"])) 
{
    $file = $_FILES["file"];
    $nombre = FIMG::getUniqueName();
    $tipo = $file["type"];
    $ruta_provisional = $file["tmp_name"];
    $size = $file["size"];
    $carpeta = "upload/";
    $src = $carpeta.$nombre;
    move_uploaded_file($ruta_provisional, $src);
    $img = new FIMG($src);
    $img->setWidth(500);
    $img->save(null,FJPG);
    $img->close();
    echo "<img src='$src'>";
}
    echo $src;
     $con = Conectar();
        $sql = "INSERT INTO bolsa (id, tipo_bolsa, titulo, imagen, descripcion, categoria, fecha, sueldo) VALUES (:id, :tipo_bolsa, :titulo, '$src', :descripcion, :categoria, :fecha, :sueldo)";
    echo "<br>".$sql; //Checkpoint
    //Variable $src does have a value i check it (img_9uf87d8fwhatever7asd7f89adsf.jpg) but when i do the insert the field inserted is empty ""
     $q = $con->prepare($sql);
        $q->execute(array(':id'=>$id, ':tipo_bolsa'=>$tipo_bolsa, ':titulo'=>$titulo, ':descripcion'=>$descripcion, ':categoria'=>$categoria, ':fecha'=>$fecha, ':sueldo'=>$sueldo));

?>

这是我在发送之前打印句子时得到的:

INSERT INTO bolsa (id, tipo_bolsa, titulo, imagen, descripcion, categoria, fecha, sueldo) VALUES (:id, :tipo_bolsa, :titulo, 'upload/img_20160108154835d45f49a8db1d6f1f4d2e29.jpg', :descripcion, :categoria, :fecha, :sueldo)

这是我的数据库信息

您有:

 $sql = "INSERT INTO bolsa (id, tipo_bolsa, titulo, imagen, descripcion, categoria, fecha, sueldo) VALUES (:id, :tipo_bolsa, :titulo, '$src', :descripcion, :categoria, :fecha, :sueldo)";
 $q = $con->prepare($sql);
 $q->execute(array(':id'=>$id, ':tipo_bolsa'=>$tipo_bolsa, ':titulo'=>$titulo, ':descripcion'=>$descripcion, ':categoria'=>$categoria, ':fecha'=>$fecha, ':sueldo'=>$sueldo));

你为什么把$src和其他的区别对待?也就是说,为什么不:

 $sql = "INSERT INTO bolsa (id, tipo_bolsa, titulo, imagen, descripcion, categoria, fecha, sueldo) VALUES (:id, :tipo_bolsa, :titulo, :src, :descripcion, :categoria, :fecha, :sueldo)";
 $q = $con->prepare($sql);
    $q->execute(array(':id'=>$id, ':tipo_bolsa'=>$tipo_bolsa, ':titulo'=>$titulo, ':src'=>$src, ':descripcion'=>$descripcion, ':categoria'=>$categoria, ':fecha'=>$fecha, ':sueldo'=>$sueldo));