2016-01-08 35 views
0

我有一個名爲$src的變量,它有一個值,(我在插入前檢查過它)。但是當我執行插入語句時,該字段被保存爲空白「」;

我不知道問題是什麼,我的數據庫中有一個文本字段可以接受任何類型的字符......但仍然無效。

有人幫助我。

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

+0

這個列是什麼設置的? – chris85

+0

在數據庫中鍵入文本,變量具有圖像的名稱(img_sdfasjdfjkfjafsdfasdfa.jpg)我在插入之前將其打印出來,就像我顯示的那樣,但是當句子發出的字段爲空時,所有字段都取值,但是這是 –

回答

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)); 
+0

是因爲這個代碼我嘗試它之前,仍然在空白的字段imagen「」。我只是再試一次而不工作 –

+0

你可以編輯你的問題,包括該表的架構請 –

+0

是的,我更新我的帖子之前發送或ejecute打印句子 –