关于Stackoverflow有很多问题,但我仍然无法解决。
我正在尝试将多个变量放入全局属性数据-*中。输出应为:
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>"
您似乎没有正确输出html。请注意fix斜杠函数周围的转义引号。还要注意"."而不是分号。
"<tr data-info='"" .fixSlashes($row["id"], $categori1) . "'" class='"tableclass'"><td>"
如果要查看所有错误,请包括以下代码。这会导致分号错误。
error_reporting(E_ALL);
ini_set('display_errors', '1');
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class='"tableclass'"><td>"
在fixSlashes函数后面,有一个分号(;),其中concat运算符(.)应该是.Umm。在类后缀字符串之前。
在追加"class=''"tableclass ''">"之前,您提前结束了echo语句。
我讨厌背锅,但一半的答案得到了一个问题,一半的答案获得了另一个问题。
正如@MingShun所说,你需要将你的分号固定为句点(concat)。正如@JimmyScray所说,你需要对你的数据进行引号(转义)。
echo "<tr data-info='"" .fixSlashes($row["id"]. $categori1). "'" class='"tableclass'"><td>";
使用转义序列显示双引号,并对id(即$row['id'])使用单引号
echo "<tr data-info='" $row['id'];$categori1'" class='"tableclass'"><td>";