Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在html表中显示SQL表数据无效_Php_Html_Sql_Html Table - Fatal编程技术网

Php 在html表中显示SQL表数据无效

Php 在html表中显示SQL表数据无效,php,html,sql,html-table,Php,Html,Sql,Html Table,我试图从sql表中查询和选择数据,然后用html显示它。这是我的密码 $result = mysqli_query($dbhandle, $query) or die(mysql_error().'<br>SQL:'.$query); echo '<table style ="border:1px solid black;">'; while($row = mysqli_fetch_array($result)) { echo '<tr>';

我试图从sql表中查询和选择数据,然后用html显示它。这是我的密码

$result = mysqli_query($dbhandle, $query)
    or die(mysql_error().'<br>SQL:'.$query);
echo '<table style ="border:1px solid black;">';

while($row = mysqli_fetch_array($result)) {
    echo '<tr>';
    echo '<td style="border:1px solid black;">{$row['first_name']}</td>';
    echo '<td style="border:1px solid black;">{$row['last_name']}</td>';
    echo '<td style="border:1px solid black;">{$row['grade']}</td>';
    echo '<td style="border:1px solid black;">{$row['gpaP']}</td>';
    echo "<td style="border:1px solid black;">{$row['AGP']}</td>";
    echo "<td style="border:1px solid black;">{$row['awardP']}</td>";
    echo "<td style="border:1px solid black;">{$row['awardTP']}</td>";
    echo "<td style="border:1px solid black;">{$row['rigorP']}</td>";
    echo "<td style="border:1px solid black;">{$row['APP']}</td>";
    echo "<td style="border:1px solid black;">{$row['positionP']}</td>";
    echo "<td style="border:1px solid black;">{$row['hoursP']}</td>";
    echo "<td style="border:1px solid black;">{$row['selectionP']}</td>";
    echo "<td style="border:1px solid black;">{$row['activityTypeP']}</td>";
    echo "<td style="border:1px solid black;">{$row['activityYearsP']}</td>";
    echo "<td style="border:1px solid black;">{$row['date']}</td>";
    echo "<td style="border:1px solid black;">{$row['IP']}</td>";
    echo '</tr>';
}
echo '</table>';
$result=mysqli\u查询($dbhandle,$query)
或者死亡(mysql_error()。
SQL:'。$query); 回声'; while($row=mysqli\u fetch\u数组($result)){ 回声'; 回音“{$row['first_name']}”; 回音“{$row['last_name']}”; 回音“{$row['grade']}”; 回显“{$row['gpaP']}”; 回显“{$row['AGP']}”; 回显“{$row['awardP']}”; 回显“{$row['awardTP']}”; 回显“{$row['rigorP']}”; 回显“{$row['APP']}”; 回显“{$row['positionP']}”; 回显“{$row['hoursP']}”; 回显“{$row['selectionP']}”; 回显“{$row['activityTypeP']}”; 回显“{$row['activityYearsP']}”; 回显“{$row['date']}”; 回显“{$row['IP']}”; 回声'; } 回声';

它告诉我在last_name单元格中存在意外字符串时出错。如果我从单元格中删除样式参数,它将正常工作。有人指出我的错误吗?

你把单引号
和双引号
混在一起了。例如,如果以
开头一行,然后在行尾之前再次使用它,则需要使用
\”
对其进行转义。我的建议是你坚持一种风格,并在所有的台词中使用它。例如,usign
“”

echo“{$row['first_name']}”;
回显“{$row['IP']}”;

您的代码混合了两种不同样式的引号,这两种引号在PHP中都有效,并且都需要一些额外的转义


您应该选择一种样式(用单引号括起来或用双引号括起来),然后确保在字符串中转义相同类型的引号。

您的单引号和双引号在PHP和HTML之间混淆了。修复此问题的最简单方法是使用heredoc语法:

echo <<<EOT
<tr>
<td style="border:1px solid black;">{$row['first_name']}</td>
<td style="border:1px solid black;">{$row['last_name']}</td>
<td style="border:1px solid black;">{$row['grade']}</td>
<td style="border:1px solid black;">{$row['gpaP']}</td>
<td style="border:1px solid black;">{$row['AGP']}</td>
<td style="border:1px solid black;">{$row['awardP']}</td>
<td style="border:1px solid black;">{$row['awardTP']}</td>
<td style="border:1px solid black;">{$row['rigorP']}</td>
<td style="border:1px solid black;">{$row['APP']}</td>
<td style="border:1px solid black;">{$row['positionP']}</td>
<td style="border:1px solid black;">{$row['hoursP']}</td>
<td style="border:1px solid black;">{$row['selectionP']}</td>
<td style="border:1px solid black;">{$row['activityTypeP']}</td>
<td style="border:1px solid black;">{$row['activityYearsP']}</td>
<td style="border:1px solid black;">{$row['date']}</td>
<td style="border:1px solid black;">{$row['IP']}</td>
</tr>
EOT;

echo@lonewaft:在这种情况下,您可能是以
而不是
开头字符串。@lonewaft其他行也不正确。您有一个双引号来打开参数
echo
,并且您正在使用双引号来设置样式。在这种情况下,样式应该使用单引号。嗯,这有一个很大的问题。。如果我转义引号,而不是显示变量内的数据,它会显示变量名本身..我最终使用了@PeterGluck的解决方案,现在它在没有转义引号的情况下工作得很好,但无论如何,谢谢!
echo <<<EOT
<tr>
<td style="border:1px solid black;">{$row['first_name']}</td>
<td style="border:1px solid black;">{$row['last_name']}</td>
<td style="border:1px solid black;">{$row['grade']}</td>
<td style="border:1px solid black;">{$row['gpaP']}</td>
<td style="border:1px solid black;">{$row['AGP']}</td>
<td style="border:1px solid black;">{$row['awardP']}</td>
<td style="border:1px solid black;">{$row['awardTP']}</td>
<td style="border:1px solid black;">{$row['rigorP']}</td>
<td style="border:1px solid black;">{$row['APP']}</td>
<td style="border:1px solid black;">{$row['positionP']}</td>
<td style="border:1px solid black;">{$row['hoursP']}</td>
<td style="border:1px solid black;">{$row['selectionP']}</td>
<td style="border:1px solid black;">{$row['activityTypeP']}</td>
<td style="border:1px solid black;">{$row['activityYearsP']}</td>
<td style="border:1px solid black;">{$row['date']}</td>
<td style="border:1px solid black;">{$row['IP']}</td>
</tr>
EOT;