大括号中的变量 - PHP编码问题

Atl*_*864 2 php mysql variables syntax echo

这是我的PHP/MySQL脚本:

<?php
    mysql_connect('localhost', 'root', 'test') or die (mysql_error());
    mysql_select_db('info1') or die (mysql_error());
    $result = mysql_query("SELECT * from automobiles");

    //Table starting tag and header cells
    while($row = mysql_fetch_array($result)){
        //Display the results in different cells
        echo "<dd><dl><img src=' " . $row['image'] . " '>" . $row['manufacturer'] ." " . $row['model'] . "</dd></dl>";
        echo "<dd><dl>" . $row['carinfo'] . "</dd></dl>";
    }

    //Table closing tag
    echo "</table>";
?>
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,它会工作:

{$myvariable}
Run Code Online (Sandbox Code Playgroud)

使用大括号对变量进行编码是一个好主意,或者:

echo " . $row['variable']. "
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,谢谢!

Nea*_*eal 8

你可以这样做:

echo "<dd><dl>{$row['carinfo']}</dd></dl>";
Run Code Online (Sandbox Code Playgroud)

你不能做这个:

echo "<dd><dl>$row['carinfo']</dd></dl>";
Run Code Online (Sandbox Code Playgroud)

这也行不通:

echo '<dd><dl>{$row['carinfo']}</dd></dl>';
Run Code Online (Sandbox Code Playgroud)

你的输出实际上是:

<dd><dl>{$row[ 一些PHP错误

这是因为使用单引号而不是双引号.而错误将是因为你没有逃避变量中的单引号.

如果你这样做:

echo '<dd><dl>{$row["carinfo"]}</dd></dl>';
Run Code Online (Sandbox Code Playgroud)

你的输出实际上是:

<dd><dl>{$row["carinfo"]}</dd></dl>

对于相同的单引号与双引号推理.