mysql的一个小问题

时间:2013-08-12 19:38:52

标签: mysql syntax php

我最近开始学习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>";
    }
}

你可以看到我有一个显示我的数据字段的功能, 我在另一页面上有一张桌子,我只想包括&amp;调用该函数,我的变量出现在表中,但我不断收到这个愚蠢的错误: 帮助PLZ

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

您正在尝试将PHP代码放入字符串中,这将无法正常工作。只需使用'dot'运算符来连接字符串。请查看here以获取更多信息。

按要求编辑:

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>";

答案 1 :(得分: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>";
    }
}

答案 2 :(得分: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_ *被折旧