我需要从SQL字段中删除一些字符而不更改数据库

时间:2013-02-22 23:01:31

标签: php mysql sql replace html-table

我正在使用已创建的数据库,我可以访问,但根本没有权限来更改数据库。

我正在使用查询

select last_count, query, job_id from twitterinblack46.job where job_id in ('.$job_id_all.') order by last_count desc; 

调用三列(last_countqueryjob_id)并将其显示在表格中。

此查询按我的意愿运行,但唯一的问题是query列显示带有“%23”,“%40”,“%20”或“q =”的数据前面的所需数据。

我需要弄清楚如何在显示表之前摆脱这些字符串。

以下是用于生成表格的while语句:

while($row = mysql_fetch_array($result)){
    echo"<tr>";
    echo "<td>" . $row["job_id"] . "</td>";
    echo "<td>" . $row["last_count"] . "</td>";
    echo "<td>" . $row['query'] . "</td>";
    echo "<tr>";
}

echo "</table>";

我创建了这个查询:

select replace(replace(replace(REPLACE(query,'%23', ''),'%40',''),'q=',''),'%20','') from job; 

摆脱这些角色,它可以完美地满足我的需要,但是如何在创建表格之前将此查询合并到我的其他$result中?

2 个答案:

答案 0 :(得分:1)

$lst_search = array("%23", "%40", "%20", "q=");
$query = str_replace($lst_search, "", $row["query"]);

然后在创建表格时使用$query代替$row["query"]

答案 1 :(得分:1)

您可以在打印表格时删除有问题的字符串:

echo "<td>" . str_replace(array('%23', '%40', '%20"', 'q='), '', $row['query']) . "</td>";

(如果您想将删除仅限制在字符串开头的字符,您可以查看preg_replace