获取blob图像(php)时出现分析错误
我尝试了很多次,并且在代码中做了很多修改,但我无法解决这个错误,所以我试图从数据库中获取blob图像。我的代码中有加粗的那一行。如果我删除了该标记代码,但是使用了该标记,我会得到一个错误。发生此错误的原因以及解决方法。 //错误 分析错误:语法错误,意外的“数据”(T_字符串),应为“,”或“;”在第18行的C:\xampp\htdocs\project\DBMS\index.php中获取blob图像(php)时出现分析错误,php,html,database,Php,Html,Database,我尝试了很多次,并且在代码中做了很多修改,但我无法解决这个错误,所以我试图从数据库中获取blob图像。我的代码中有加粗的那一行。如果我删除了该标记代码,但是使用了该标记,我会得到一个错误。发生此错误的原因以及解决方法。 //错误 分析错误:语法错误,意外的“数据”(T_字符串),应为“,”或“;”在第18行的C:\xampp\htdocs\project\DBMS\index.php中 <html> <?php require "connect.php"; $sql="
<html>
<?php
require "connect.php";
$sql="select * from newbook";
$row = $conn->query($sql);
$n=0;
echo"<form method='post'><table border='0' align='center'><tr>";
while($arr = $row->fetch_assoc())
{
$i=$arr['BookId'];
if($n%4==0)
{
echo "<tr>";
}
echo "
**<td height='280' width='240' align='center'><img src="data:image/jpeg;base64,'.base64_encode( $arr['BookImage'] ).'"height='200' width='200'><br/>**
<b>BOOKNAME:</b>".$arr['BOOKNAME'].
"<br><b>Author:</b>".$arr['Author'].
"<br><b>Publication:</b> ".$arr['PublicatonHouse'].
"<br><b>Discount:</b>".$arr['Discount']."%".
"<br><br><img src='images/MetalPlakDa5new.gif' width='70' height='20'/></a>
<img src='images/view7.jpg' width='70' height='20'/></a>
</td>";
$n++;
}
echo "</tr></table>
</form>";
?>
</body>
</html>
好吧,你的引用顺序都错了,如果你想用PHP解析文本,那就去做吧
<html>
<?php
require "connect.php";
$sql="select * from newbook";
$row = $conn->query($sql);
$n=0;
echo"<form method='post'><table border='0' align='center'><tr>";
while($arr = $row->fetch_assoc())
{
$i=$arr['BookId'];
if($n%4==0)
{
echo "<tr>";
}
echo "
**<td height='280' width='240' align='center'><img src='data:image/jpeg;base64,".base64_encode( $arr['BookImage'] )."'height='200' width='200'><br/>**
<b>BOOKNAME:</b>".$arr['BOOKNAME']."
<br><b>Author:</b>".$arr['Author']."
<br><b>Publication:</b> ".$arr['PublicatonHouse']."
<br><b>Discount:</b>".$arr['Discount']."%
<br><br><img src='images/MetalPlakDa5new.gif' width='70' height='20'/></a>
<img src='images/view7.jpg' width='70' height='20'/></a>
</td>";
$n++;
}
echo "</tr></table>
</form>";
?>
</body>
</html>
好吧,你的引用顺序都错了,如果你想用PHP解析文本,那就去做吧
<html>
<?php
require "connect.php";
$sql="select * from newbook";
$row = $conn->query($sql);
$n=0;
echo"<form method='post'><table border='0' align='center'><tr>";
while($arr = $row->fetch_assoc())
{
$i=$arr['BookId'];
if($n%4==0)
{
echo "<tr>";
}
echo "
**<td height='280' width='240' align='center'><img src='data:image/jpeg;base64,".base64_encode( $arr['BookImage'] )."'height='200' width='200'><br/>**
<b>BOOKNAME:</b>".$arr['BOOKNAME']."
<br><b>Author:</b>".$arr['Author']."
<br><b>Publication:</b> ".$arr['PublicatonHouse']."
<br><b>Discount:</b>".$arr['Discount']."%
<br><br><img src='images/MetalPlakDa5new.gif' width='70' height='20'/></a>
<img src='images/view7.jpg' width='70' height='20'/></a>
</td>";
$n++;
}
echo "</tr></table>
</form>";
?>
</body>
</html>
echo”
**
**
您的问题是数据前的双括号,请改用单引号,并以单引号结束。请尝试上述方法。您的问题与BLOB无关。echo”
**
**
您的问题是在数据之前使用双括号,改为使用单引号,并以单引号结束。试试上面的方法。您的问题与BLOB无关。没有同样的错误仍然发生。这就是问题所在,只是在更多的地方。检查我的答案,修正你的报价。一切都搞砸了。这里没有别的问题。凯尼恩已经给出了正确的答案。但我建议你在回送和浓缩带有变量的字符串或介于两者之间的php代码时要小心。为了阐明Parthapratim Neog的意思,请确保你没有回送未初始化的字符串,否则你可能最终会遇到XSS漏洞。每当您输出可能来自用户或第三方的文本时,您应该以某种方式转义HTML。没有相同的错误仍然发生。这就是问题所在,只是在更多的地方。检查我的答案,修正你的报价。一切都搞砸了。这里没有别的问题。凯尼恩已经给出了正确的答案。但我建议你在回送和浓缩带有变量的字符串或介于两者之间的php代码时要小心。为了阐明Parthapratim Neog的意思,请确保你没有回送未初始化的字符串,否则你可能最终会遇到XSS漏洞。当你输出可能来自用户或第三方的文本时,你应该以某种方式转义HTML。谢谢,很高兴你让它工作了。但是为什么顺序很重要,我不知道,因为你打开并关闭字符串,并且在关闭时允许使用PHP。例如
echo“test”代码>我打开了字符串,并用两个单引号将其关闭。我可以做echo“test”对于这个例子,它的意思是一样的。从逻辑上讲,执行echo“test”
是没有意义的,因为它们在技术上意味着不同的东西。因此,如果字符串中需要单引号,请执行echo“某人的”";代码>因为回显“某人的”
有3个单引号,这意味着没有结尾,PHP认为第3个引号之后的所有内容都是字符串,直到找到另一个匹配的引号为止-导致解析错误非常好的解释谢谢谢谢,非常棒,很高兴你让它工作了。但是为什么顺序很重要,我不明白,因为你打开并关闭字符串,并且在关闭它时允许使用PHP。例如echo“test”代码>我打开了字符串,并用两个单引号将其关闭。我可以做echo“test”对于这个例子,它的意思是一样的。从逻辑上讲,执行echo“test”
是没有意义的,因为它们在技术上意味着不同的东西。因此,如果字符串中需要单引号,请执行echo“某人的”";代码>因为回显“某人的”
有3个单引号,这意味着没有结尾,PHP认为第3个引号之后的所有内容都是字符串,直到找到另一个匹配的引号-导致解析错误非常好的解释谢谢