SQL Insert语句不使用$ variable的值

时间:2016-01-08 15:30:38

标签: php mysql sql

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

我不知道问题是什么,我的数据库集中有一个文本字段可以接受任何类型的字符......但它仍然没有用。

有人帮助我。

<?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)

And this is my db info

1 个答案:

答案 0 :(得分:0)

你有:

 $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));