使用变量转义 PHP 中的引号
Escaping quotes in PHP with variable
在 Whosebug 上有很多关于这个的问题,但我仍然无法解决这个问题。
我正在尝试将多个变量放入全局属性数据-*。输出应为:
data-info="23;thisWeek"
23 来自数据库:$row["id"],thisWeek 来自变量:$categori1.
我试过:
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class=\"tableclass\"><td>"
然后
<?php
function fixSlashes($idP, $categoriP){
$str = addslashes($idP . ";" .$categoriP);
return $str;
}
?>
但是出了点问题。没有错误消息,但行为是错误的。如果我只写它就有效:
echo "<tr data-info="data-info="23;thisWeek" class=\"tableclass\"><td>"
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class=\"tableclass\"><td>"
您在连接运算符 (.) 所在的位置有一个分号 (;)。嗯,在 fixSlashes 函数之后。 class后缀字符串前
在可以追加 "class=\"tableclass\">" 之前,您过早地结束了 echo 语句。
使用转义序列显示双引号,使用单引号显示 id(即 $row['id'])
echo "<tr data-info=\" $row['id'];$categori1\" class=\"tableclass\"><td>";
您似乎没有正确输出 html。请注意 fix Slashes 函数周围的转义引号。还要注意“。”而不是分号。
"<tr data-info=\"" .fixSlashes($row["id"], $categori1) . "\" class=\"tableclass\"><td>"
如果要查看所有错误包括以下代码。这会捕获分号错误。
error_reporting(E_ALL);
ini_set('display_errors', '1');
我讨厌背负,但一半的答案是解决一个问题,一半的答案是解决另一个问题。
如@MingShun 所说,您需要将分号固定为句号(concat)。
正如@JimmyScray 所说,您需要在数据周围获取引号(转义)。
echo "<tr data-info=\"" .fixSlashes($row["id"]. $categori1). "\" class=\"tableclass\"><td>";
在 Whosebug 上有很多关于这个的问题,但我仍然无法解决这个问题。
我正在尝试将多个变量放入全局属性数据-*。输出应为:
data-info="23;thisWeek"
23 来自数据库:$row["id"],thisWeek 来自变量:$categori1.
我试过:
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class=\"tableclass\"><td>"
然后
<?php
function fixSlashes($idP, $categoriP){
$str = addslashes($idP . ";" .$categoriP);
return $str;
}
?>
但是出了点问题。没有错误消息,但行为是错误的。如果我只写它就有效:
echo "<tr data-info="data-info="23;thisWeek" class=\"tableclass\"><td>"
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class=\"tableclass\"><td>"
您在连接运算符 (.) 所在的位置有一个分号 (;)。嗯,在 fixSlashes 函数之后。 class后缀字符串前
在可以追加 "class=\"tableclass\">" 之前,您过早地结束了 echo 语句。
使用转义序列显示双引号,使用单引号显示 id(即 $row['id'])
echo "<tr data-info=\" $row['id'];$categori1\" class=\"tableclass\"><td>";
您似乎没有正确输出 html。请注意 fix Slashes 函数周围的转义引号。还要注意“。”而不是分号。
"<tr data-info=\"" .fixSlashes($row["id"], $categori1) . "\" class=\"tableclass\"><td>"
如果要查看所有错误包括以下代码。这会捕获分号错误。
error_reporting(E_ALL);
ini_set('display_errors', '1');
我讨厌背负,但一半的答案是解决一个问题,一半的答案是解决另一个问题。
如@MingShun 所说,您需要将分号固定为句号(concat)。 正如@JimmyScray 所说,您需要在数据周围获取引号(转义)。
echo "<tr data-info=\"" .fixSlashes($row["id"]. $categori1). "\" class=\"tableclass\"><td>";