我需要一些帮助,从我的数据库返回的路径中删除一行。
" ImagePath"的结果在数据库中返回/ share / images / Gif / XXX / XXXXXX /(XX是实际返回的填充物)
我需要切断" / share / images /"从ImagePath的结果,所以我会得到/ Gif / XXX / XXXXXX /
原因是数据库的这个实例是单向的>从具有不同图像位置的另一台服务器更新,所以我不想通过并从数据库中删除这些行,因为下次更新它会恢复到另一条路径我只是想从结果中删除这些行。
<?php
define('INCLUDE_CHECK',1);
require "connect.php";
require_once("class.php");
mb_internal_encoding("UTF-8");
// $product_id = intval($_GET['product']); //no default
$UPC = intval($_GET['upc']); //no default
$result = mysql_query("SELECT ImagePath, AlphaName, brand_name, FullName, ingredients FROM Images, Products WHERE ImageType='gif' AND images.ProductID = products.ProductID AND ViewCode='CF' AND products.UPC = '$UPC'");
$count=mysql_affected_rows();
$objJSON=new mysql2json();
print(trim($objJSON->getJSON($result,$count)));
/* disconnect from the db */
@mysql_close($link);
?>
答案 0 :(得分:3)
你总是可以做substring
:
select substring(imagepath, 14) as ImagePath...
或replace
,如果您的ImagePath
值不完全相同:
select replace(imagepath, '/share/images/', '') as ImagePath...
答案 1 :(得分:0)
如果您想使用PHP,请使用str_replace()
。
$image = str_replace('/share/images/', '', $db_row['imagepath']);
如果你想在MySQL中使用REPLACE()
(我的推荐)。
SELECT REPLACE(imagepath, '/share/images/', '') AS imagepath FROM table;
注意:虽然随着时间的推移会自行解决,但在代码中执行此操作并不直观。您应该直接更新您的记录。特别是如果您的数据是从较旧的服务器配置迁移的。修复源头。否则你正在打补丁。