单引号和双引号+数组的PHP问题

时间:2016-10-02 12:14:47

标签: php arrays while-loop href

具有a href的部分将无效

<?php
    $key=$_GET['key'];
    $array = array();
    $con = mysqli_connect("localhost", "root", "", "neukenet");
    $query=mysqli_query($con,"select * from blog_content where caption LIKE '%{$key}%'");
    while($row=mysqli_fetch_assoc($query))
    {
      $array[] = <a href="#">$row['caption']</a>;
    }
    echo json_encode($array);
?>

感谢您的努力!

2 个答案:

答案 0 :(得分:1)

您应该将锚标记存储在引号内并使用连接运算符。

while ($row = mysqli_fetch_assoc($query)) {
  $array[] = '<a href="#">' . $row['caption']. '</a>'; // Modify this line
}
echo json_encode($array);

答案 1 :(得分:0)

您必须从while循环回显变量(连接),然后需要保存到array()变量中。如果没有连接,您的数据将不会被打印到其中。

  

您尚未关闭PHP代码,因此您需要使用'运算符根据您使用的正向引号进行连接,否则您的<a>标记会将错误转移到解。而你的json_encode()也将复制相同的内容。

<强>替换

$array[] = <a href="#">$row['caption']</a>;

。通过

$array[] = '<a href="#">'.$row['caption'].'</a>';

而不是所有其他代码看起来都很好,整个代码将如下所示。

<?php
    $key=$_GET['key'];
    $array = array();
    $con = mysqli_connect("localhost", "root", "", "neukenet");
    $query=mysqli_query($con,"select * from blog_content where caption LIKE '%{$key}%'");
    while($row=mysqli_fetch_assoc($query))
    {
      $array[] = '<a href="#">'.$row['caption'].'</a>';
    }
    echo json_encode($array);
?>