MySQL返回包含HTML的空白行

时间:2014-08-18 23:21:09

标签: php html mysql

我正在网站上工作,它在MySQL中有一个表,其中包含几行的HTML。每当我尝试从表中提取数据时,它都会返回""对于包含HTML的行。其他行(没有HTML的行)返回正确的数据。我转义了所有双引号和单引号,整行都在一行(没有换行符)。我现在一直试图解决这个问题,但我无法弄明白。有什么想法吗?

<?php

$con = mysqli_connect('localhost', 'exampleuser', 'examplepass', 'exampledb');
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$query = "SELECT * FROM Publications;";
$result = mysqli_query($con, $query);

while ($row = mysqli_fetch_row($result)) {
    echo "\n<br>\"" . $row['Publications'] . "\"\n<br>";
}

?>

我输入的HTML非常长,所以只是粘贴第一部分。请记住,HTML中没有换行符。我只是把它们放进去,这样更容易阅读。

<p class="MsoTitle"><span style="font-size: 12pt;">Publications</span><span style="font-
size: 12pt; font-weight: normal;"></span></p><p class="MsoNormal"><strong>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong></p><p class="MsoNormal" 
style="margin-left: 0.25in; text-indent: -0.25in;">1. <strong><span style="font-weight: 
normal;">C. V. Krishnan and M. Garnett, Electrochemical Behavior of the Super Antioxidant, 
&alpha;-</span></strong></p><p class="MsoNormal" style="margin-left: 0.25in; text-indent: 
-0.25in;"><strong><span style="font-weight: 

这就是他们的回报:

""

1 个答案:

答案 0 :(得分:1)

根据你和我之间的意见交换。(关闭问题)

  

注意:未定义的索引:第14行/home/garnett/public_html/test.php中的出版物

这源于您的列名为publications而不是Publications

$row['Publications']$row['publications'] 两个不同的动物

列名称区分大小写,这就是您没有输出任何数据的原因。

使用文件顶部的错误报告,可以发现潜在的错误(如果您的代码中有任何错误,就像您从暗示性评论中找到的那样)。

error_reporting(E_ALL);
ini_set('display_errors', 1);

修改:

正如E-Rock在评论中指出的那样:

mysqli_fetch_row()返回一个枚举的行数据数组。如果你期望一个关联数组”,你需要mysqli_fetch_assoc()。谢谢E-Rock。