PHP / MYSQL的异常问题 - 名称正在被切断

时间:2011-05-16 02:52:24

标签: php url

对于我的数据库中的某些产品,产品的名称将被切断 <a href=" RIGHT HERE "> </a>

它将通过HTML视觉方面正确显示。但是,链接有时会缩短名称。

有人知道为什么会这样吗?

我似乎无法想到问题可能是什么?

            $result = mysql_query($query);
            while($row = mysql_fetch_row($result))
                {


        $namelink = str_replace(" ","_",$row[1]);



print <<< PRODUCT_RESULTS
    <table  cellpadding="5" cellspacing="5" id="vProducts">
        <tr>
                <td><img src="$row[3]"/></td>
                <td id="productTitle"><a href="/view_product1.php?name=$namelink&model=$row[0]">$row[1]</a><br />
                <li>Model: $row[0]</li>
                </td>
        </tr>
    </table>
    <div style="width:749px; height:1px; background:#CCC;"></div>

PRODUCT_RESULTS;
}

表格结构:

   CREATE TABLE `products` (
  `modelNumber` varchar(100) NOT NULL DEFAULT '',
  `name` varchar(400) DEFAULT NULL,
  `shortDescription` varchar(500) DEFAULT NULL,
  `image` varchar(400) DEFAULT NULL,
  `largeImage` varchar(400) DEFAULT NULL,
  `url` varchar(400) DEFAULT NULL
  )

2 个答案:

答案 0 :(得分:1)

$row[3]更改为$row[image],将$row[0]更改为$row[modelNumber]等。 如果这不起作用,我需要查看$查询。

编辑: Krinkle(下面的评论),建议使用$row["image"]$row["modelNumber"],这是一种更好的做法。

答案 1 :(得分:1)

这可能听起来很疯狂,但你有>"或其他一些会在该条目中产生无效HTML的角色吗?使用“查看源”时会发生什么?它仍然被切断了吗?

顺便说一句,我不知道你是否意识到这一点,但你正在对这些变量进行双重查找。这不仅速度慢,而且调试起来比较困难。而不是这样做:

             <td id="productTitle">
                  <a href="/view_product1.php?name=$namelink&model=$row[0]">
                      $row[1]
                  </a>
                  <br />
                  <li>Model: $row[0]</li>

在打印等效于每个数组索引之前设置变量,然后输出该结果。

您还可以摆脱打印调用,只需使用?> <?php即可。显然,一旦你这样做,就需要手动输出变量的内容,但可以说它更清晰,更清晰。