2012-07-05 97 views
1

我想存儲URL圖像路徑到MySQL數據庫。但我沒有得到任何結果與我的代碼。PHP存儲在MySQL數據庫中的URL圖像路徑

  • 爲什麼它不存儲任何東西?
  • 只需存儲圖像名稱或整個路徑會更好嗎? 對象例: 「www.example.com/medium/imagename.jpg」

表名:urlimage

id: autoincrement 
image_name 



Php code for inserting data into DB 
<?php 

$images = explode(',', $_GET['i']); 

$path = Configuration::getUploadUrlPath('medium', 'target'); 


if(is_array($images)){ 

    $objDb = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass); 
    $objDb->exec('SET CHARACTER SET utf8'); 

    $sql = "INSERT INTO `urlImage` (`image_name`) VALUES "; 

    foreach ($images as $image) { 

    //echo '<div><p>' . $path . $image . '</p><img src="' . $path . $image . '" /></div>'; 
    $value[] = "(".$path.$image.")"; // collect imagenames 
    } 

    $sql .= implode(',', $value).";"; //build query 

    $objDb->query($sql); 
} 

?> 
+1

您應該只在數據庫中存儲圖像文件名。 –

+0

在'$ objDb-> query($ sql)之前由'print_r($ sql)'進行調試;' – diEcho

+0

您是否收到任何錯誤?在你的'php.ini'中設置'error_reporting = E_ALL | E_STRICT'和'display_errors = On',如果你還沒有這樣做的話。 – F21

回答

3

試試這個;它可能工作:

$value[] = "('".$path.$image."')"; 
+0

+1,很好的觀察 – diEcho

1

你有$sql

錯誤就必須$value[] = "('".$path.$image."')";

debug with

echo "<pre>"; print_r($sql);echo "</pre>"; 

,如果你使用PDO函數然後調用

prepare - >execute

+0

把你告訴我的東西放到後面:「$ param error:syntax error,unexpected T_VARIABLE」for'$ objDb-> query($ sql);' – techAddict82

+0

其實沒關係,是y部分的錯誤。謝謝 – techAddict82

相關問題