正在拆分自定义属性中回显的PHP-db字段

正在拆分自定义属性中回显的PHP-db字段,php,attributes,Php,Attributes,在我的数据库中,我有一个名为users的表。在该表中,我有一个名为usr_loc_id的字段。该字段的内容是带有邮政编码的城市名称。例如:巴黎(75018) 在php脚本中,我在某个时候将该字段值回显到tr标记的自定义属性中: echo '<tr attrLoc='.$row['usr_loc_id'].' class='someClass'>... echo'。。。 我的问题如下。当我检查我的调试器时,我看到只考虑城市名称。带有家长身份的城市代码被省略了。下面是它在调试器中的外

在我的数据库中,我有一个名为users的表。在该表中,我有一个名为usr_loc_id的字段。该字段的内容是带有邮政编码的城市名称。例如:巴黎(75018)

在php脚本中,我在某个时候将该字段值回显到tr标记的自定义属性中:

echo '<tr attrLoc='.$row['usr_loc_id'].' class='someClass'>...
echo'。。。
我的问题如下。当我检查我的调试器时,我看到只考虑城市名称。带有家长身份的城市代码被省略了。下面是它在调试器中的外观

<tr attrLoc="Paris" (75018) class="someClass">...
。。。

希望有人能帮助理解和解决这个问题。提前感谢您的回复。干杯Marc.

如果您使用的是引用的代码,则需要添加一些引用。由于城市名称是引号中包含的唯一内容,因此将仅显示这些内容。我将向您展示另一种使用双引号和大括号的方法:

echo "<tr attrLoc='{$row['user_loc_id']}' class='someClass'>";
echo”“;

这能解决问题吗?

生成的html中缺少引号。输出的文本为:

<tr attrLoc=Paris (75018) class=someClass>...
。。。
请注意,缺少引号。这意味着浏览器的解析器在此标记中看到3个属性:

  • 巴黎
  • 无效属性(75018)
  • classs=someClass
  • 通过在PHP中正确引用,可以解决以下问题:

    echo <<<EOL
    <tr attrLoc="{$row['usr_loc_id']}" class="someClass"> ...
    EOL;
    

    echo哪里是
    双引号来自哪里?是来自db吗?还是说
    Paris
    用双引号括起来,但不是邮政编码?最后一行代码是我的Chrome Debugger中显示的内容该城市的db条目是否包含引号?在输出中,它显示“Paris”(75018),但在您的echo语句中没有使用引号。如果这些引号来自您的数据库,您可能需要使用addslashes(
    echo”“;
    )来对它们进行加密。no my field不包含任何引号。格式如下:Paris(75018)添加slashed没有成功,不幸的是echo“…Ben,谢谢你的帮助。问题解决了。检查Marc B输入…再次感谢你花时间。你好Marc。你完全正确。忘记了双引号everywhre。它成功了。Rooky错误!我是一个Rooky,所以应该没问题…你有一个很棒的名字方法:)+1这是我最初怀疑的,但不确定,因为他无法正确解释。
    echo '<tr attrLoc="' . $row['usr_loc_id'] . '" class="someClass"> ...';
                      ^--missing                 ^--missing