mysql的一个小问题

mysql的一个小问题,mysql,syntax,php,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

我最近开始学习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>";
    }
}
函数显示(){
$query=mysql\u query(“从族中选择*);
如果(!$query){
die(“无效查询”.mysql_error());
}
while($row=mysql\u fetch\u array($query)){
回声“
第24行==>
";
}
}
如您所见,我有一个显示数据字段的函数, 我在另一个页面中有一个表,我只想通过包含&调用函数,我的变量出现在表中,但我一直得到这个愚蠢的错误: 帮助plz

分析错误:语法错误,第24行的C:\xampp\htdocs\php\lib.php中出现意外的“”(T_压缩的_和_空格),需要标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)

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

echo    "<tr>
            <td>". $row['id'] ."</td>
            <td>". $row['name'] ."</td>
            <td>". $row['lname'] ."</td>
        </tr>"; 
echo”
“$row['id']”
“$row['name']”
“$row['lname']”
"; 
我确实尝试过这个方法,但它不会在表行中显示我的日期
我这样做的目的是希望它在一个表行中显示我的每个数据变量,您知道还有什么好方法吗?

更改为
“$row['id']”。”

您试图将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>";
echo”“;
while($row=mysql\u fetch\u array($query)){
回声“
“$row['id']”
“$row['name']”
“$row['lname']”
";
}
回声“;

您只需关闭并重新打开您的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
    }
}
函数显示(){
$query=mysql\u query(“从族中选择*);
如果(!$query){
die(“无效查询”.mysql_error());
}
while($row=mysql\u fetch\u array($query)){
?>
试试这个

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';
   }
}
函数显示()
{
$query=mysql\u query(“从'family`中选择*”;
//检查查询是否失败
如果(!$query){
die(“无效查询”.mysql_error());
}
//如果表中有超过0行,我们将创建该表
if(mysql_num_rows($query)>0)
{
回声“;
//循环遍历数组并创建表行
while($row=mysql\u fetch\u array($query))
{
回声“
“$row['id']”
“$row['name']”
“$row['lname']”
";
}
回声“;
}
否则//没有行,我们将显示一个错误
{
echo“表是空的”;
}
}

还可以使用mysqli_*因为mysql_*被贬值了

你有没有注意到
mysql
函数的PHP文档中有一个红色的大框,上面说你不应该再使用它们了?第24行在哪里?你能解释更多吗?@user2668542-它现在到底输出了什么?你能放一个
var_dump($row)吗
在while循环中查看您从数据库中得到的确切信息?@andrewsi-这是我在写入echo$row['id']时的输出;我尝试过,但我希望它不会生成表行。您必须在插入php标记的每一行执行此操作(
我这样做的目的是想让它在一个表行中显示我的每个数据变量,还有其他好方法吗?请参见编辑。下面将为您提供一个表,其中每一行包含数据库中表中的一条记录。如果这不是您的预期输出,您的问题必须更清楚。这种情况不会发生在表中:(它不会生成表行:(更新的答案。你说它不会生成行是什么意思?有错误吗?它显示的是一行中的db字段,而不是表中的一行。)
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';
   }
}