我正在尝试通过访问php
数据库来创建一个来自mysql
代码的html表,但是使用该标记显示一个空页面。
我按如下方式删除了代码:
<html>
<body>
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
echo "<b>Value1</b>";
echo "<table border="1"><tr><td>row 1, cell 1</td></tr></table>";
?>
</html>
</body>
我仍然收到空白页,有人可以指出错误吗?
答案 0 :(得分:2)
您需要替换此行:
"<table border="1"><tr><td>row 1, cell 1</td></tr></table>"
这一行:
"<table border='1'><tr><td>row 1, cell 1</td></tr></table>"
您需要绕过边框值转义引号。
另外,请确保在错误的顺序中关闭</html>
和</body>
,如下所示:
</body>
</html>
答案 1 :(得分:0)
以下行中有引号需要转义:
echo "<table border="1"><tr><td>row 1, cell 1</td></tr></table>";
将其更改为:
echo "<table border=\"1\"><tr><td>row 1, cell 1</td></tr></table>";
基本上,正在发生的事情是当你的代码看到"1"
时,它认为你要离开字符串输入一些PHP代码。因为您接下来没有放置有效的内容(例如.
或;
),这会引发语法错误。
为了让它意识到你的意思是那些作为实际的语音标记,你需要在它们之前加上斜线。
答案 2 :(得分:0)
<table border="1"
在php中打开和关闭双引号意味着echo函数关闭并再次打开。所以,使用单引号将有效..
<table border='1'>
应该有效
答案 3 :(得分:0)
错误符合
echo "<table border="1"><tr><td>row 1, cell 1</td></tr></table>";
因为你用双引号括起字符串,你的语法会在“1 ..
中被破坏使用
echo "<table border=1><tr><td>row 1, cell 1</td></tr></table>";
或
echo '<table border="1"><tr><td>row 1, cell 1</td></tr></table>';
我更喜欢第二个..因为当你用双引号括起字符串时,它会查找php变量,从而增加解析时间....在你的情况下绝对没有必要