在块中使用函数,PHP
如何在(EOT函数/文本块)中使用函数,为了更好地理解,我想让您看看我的示例:在块中使用函数,PHP,php,string,function,Php,String,Function,如何在(EOT函数/文本块)中使用函数,为了更好地理解,我想让您看看我的示例: include "db.inc.php"; $sql="SELECT * FROM image"; $result = mysqli_query($conn, $sql) or die(mysqli_error($mysqli)); while($topic_info = mysqli_fetch_array($result)){ $img_id=$topic_info
include "db.inc.php";
$sql="SELECT * FROM image";
$result = mysqli_query($conn, $sql) or die(mysqli_error($mysqli));
while($topic_info = mysqli_fetch_array($result)){
$img_id=$topic_info['id'];
$img_name=$topic_info['name'];
$display_block .= <<<END_OF_TEXT
<div>
<img src="images/${img_name}">
<strong>print_r($topic_info)</strong>
</div>
END_OF_TEXT;
}
echo $display_block;
包括“db.inc.php”;
$sql=“从图像中选择*”;
$result=mysqli_query($conn,$sql)或die(mysqli_error($mysqli));
while($topic\u info=mysqli\u fetch\u数组($result)){
$img_id=$topic_info['id'];
$img_name=$topic_info['name'];
$display_block.=您不能在herdoc文本块内进行函数调用,因此您将无法以这种方式递归打印该数组
您可以做的是将print_r的可选第二个参数设置为TRUE,这将返回打印的字符串,而不是“打印”字符串。这样,您可以将其分配给变量,并像其他变量一样将其包含在HEREDOC块中
while($topic_info = mysqli_fetch_array($result)) {
$img_id=$topic_info['id'];
$img_name=$topic_info['name'];
$topic_info_string = print_r($topic_info, true);
$display_block .= <<<END_OF_TEXT
<div>
<img src="images/{$img_name}"/>
<strong>$topic_info_string</strong>
</div>
END_OF_TEXT;
}
while($topic\u info=mysqli\u fetch\u数组($result)){
$img_id=$topic_info['id'];
$img_name=$topic_info['name'];
$topic\u info\u string=print\r($topic\u info,true);
$display_block.=在代码中使用die(mysqli_error($$conn));
是一个非常糟糕的主意,因为它可能会泄漏敏感信息。请参阅本文以获取更多解释:我读了这篇文章,这很有帮助,你能告诉我应该在哪里使用这行代码mysqli_report(mysqli_report_error | mysqli_report|STRICT);而不是od die?我的意思是我应该在mysqli_connect()之后或其他地方编写代码吗?只需在mysqli_connect()之前添加该行