Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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
获取blob图像(php)时出现分析错误_Php_Html_Database - Fatal编程技术网

获取blob图像(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="

我尝试了很多次,并且在代码中做了很多修改,但我无法解决这个错误,所以我试图从数据库中获取blob图像。我的代码中有加粗的那一行。如果我删除了该标记代码,但是使用了该标记,我会得到一个错误。发生此错误的原因以及解决方法。 //错误 分析错误:语法错误,意外的“数据”(T_字符串),应为“,”或“;”在第18行的C:\xampp\htdocs\project\DBMS\index.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>&nbsp;".$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>&nbsp;".$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>&nbsp;".$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个引号之后的所有内容都是字符串,直到找到另一个匹配的引号-导致解析错误非常好的解释谢谢