-5

我最近开始学习php和mysql,我想知道这有什么问题

function show(){
$query=mysql_query(" SELECT * FROM family ");
if (!$query) {
    die("invalid query ".mysql_error());
}
while ($row=mysql_fetch_array($query)) {
echo    "<tr>
 line 24 ===><td><?php echo $row['id']; ?></td>
            <td><?php echo $row['name']; ?></td>
            <td><?php echo $row['lname']; ?></td>
        </tr>";
    }
}

如您所见,我有一个显示我的数据字段的函数,并且我在另一个页面中有一个表,我只想通过包含和调用该函数来实现,我的变量出现在表中,但我不断收到这个愚蠢的错误:帮助请

解析错误:语法错误,意外的 '' (T_ENCAPSED_AND_WHITESPACE),在第 24 行的 C:\xampp\htdocs\php\lib.php 中需要标识符 (T_STRING) 或变量 (T_VARIABLE) 或数字 (T_NUM_STRING)

对于那些想建议以下代码的人:

echo    "<tr>
            <td>". $row['id'] ."</td>
            <td>". $row['name'] ."</td>
            <td>". $row['lname'] ."</td>
        </tr>"; 

我确实尝试过这个并且它有效,但它不会在表格行中显示我的日期我这样做的目的是我希望它在表格行中显示我的每个数据变量,你知道还有其他好的方法吗?

4

3 回答 3

3

更改<td><?php echo $row['id']; ?></td><td>".$row['id']."</td>

您试图将 php 代码放入字符串中,但这是行不通的。只需使用“点”运算符连接字符串。在这里查看更多信息。

按要求编辑:

echo "<table>";
while ($row=mysql_fetch_array($query)) {
  echo "<tr>
    <td>".$row['id']."</td>
    <td>".$row['name']."</td>
    <td>".$row['lname']."</td>
  </tr>";
}
echo "</table>";
于 2013-08-12T19:41:46.977 回答
0

无需回显,您只需关闭并重新打开您的 PHP 标记:

function show(){
$query=mysql_query(" SELECT * FROM family ");
if (!$query) {
    die("invalid query ".mysql_error());
}
while ($row=mysql_fetch_array($query)) {
?>
        <tr>
            <td><?php echo $row['id']; ?></td>
            <td><?php echo $row['name']; ?></td>
            <td><?php echo $row['lname']; ?></td>
        </tr>
<?php
    }
}

或者,没有打开和关闭:

function show(){
$query=mysql_query(" SELECT * FROM family ");
if (!$query) {
    die("invalid query ".mysql_error());
}
while ($row=mysql_fetch_array($query)) {
echo    "<tr>
            <td>". $row['id'] ."</td>
            <td>". $row['name'] ."</td>
            <td>". $row['lname'] ."</td>
        </tr>";
    }
}
于 2013-08-12T19:42:05.327 回答
0

尝试这个

function show()
{
    $query = mysql_query("SELECT * FROM `family`");
    //check if query failed
    if (!$query) {
        die("invalid query ".mysql_error());
    }

    //if there are more than 0 rows in table, we create the table
    if (mysql_num_rows($query) > 0)
    {
        echo "<table>";

        //loop thru array and create table rows
        while ($row = mysql_fetch_array($query)) 
        {
           echo    "<tr>
                       <td>". $row['id'] ."</td>
                       <td>". $row['name'] ."</td>
                       <td>". $row['lname'] ."</td>
                    </tr>";
        }

        echo "</table>";
   }
   else //no rows, we display an error
   {
       echo 'Table is empty';
   }
}

也使用 mysqli_* 因为 mysql_* 已贬值

于 2013-08-12T19:45:09.147 回答