MySQL Varchar Type输出开始/结束空格

时间:2014-09-05 12:43:29

标签: php html mysql

Okai,所以我的问题是我的一个URL无效,因为我的SQL表在actuall URL字符串之前和之后输出了一个空格。 我添加了一些图片和一些代码作为指导。

<a href="..">
    <img src="../
         <?php
             $fetchheader = $db->prepare("SELECT background FROM header ORDER BY id DESC");
             $fetchheader->execute();
             $headerall = $fetchheader->fetchAll();
             $fetchheader->execute();
             echo $headerall[0]['background'];
         ?>
     ">
</a>

以下是一些图片以及解释问题:

在这里您可以看到类型设置为varchar: Here you can see that the type is set to varchar

在这里您可以看到网站上的输出会导致错误: Here you can see the output error on the website Error

2 个答案:

答案 0 :(得分:3)

您在HTML和<?php / ?>之间留下了空格,这是您在图片路径中获得的原因,因此您应该删除这些空格:

<img src="../<?php
         $fetchheader = $db->prepare("SELECT background FROM header ORDER BY id DESC");
         $fetchheader->execute();
         $headerall = $fetchheader->fetchAll();
         $fetchheader->execute(); // <-- probably this is not necessary :)
         echo $headerall[0]['background'];
     ?>">

答案 1 :(得分:0)

你能试试吗?

使用trim()删除php中不需要的空格

$background=trim($headerall[0]['background']);

$background=$headerall[0]['background']; preg_replace('/\s+/', '', $background);

如果要替换MYSQL中的空格

UPDATE `table` SET `col_name` = REPLACE( `col_name` , ' ' , '' )