【问题标题】:Show a single entry from a MySQL db relevant to the id显示与 id 相关的 MySQL 数据库中的单个条目
【发布时间】:2015-03-20 15:27:04
【问题描述】:

我对 MySQL 和 php 还很陌生,我无法将其整合到我的网站中。

我正在创建的是一个汽车销售网站,它使用一个数据库来显示所有汽车的库存页面(我已经完成了这个工作)。然后我想要做的是在每个条目上都有一个“id”,这是一个链接,可以将您带到一个页面,其中包含有关该车的更多信息。我尝试了无数次谷歌搜索,无论出于何种原因它都不起作用,返回错误“数据错误”。我很确定这是一个相对简单的修复,但由于我是新手,所以我无法弄清楚如何修复它。我想在链接上查找与数据输入相关的 id 时出错了,但我不知道下一步该做什么。

下面是我的 inventory.php 页面,它显示了所有数据库条目,然后有一个名为 id 的行条目,这是我想用来链接到 moredetails.php 页面的主键。

我有 1 个名为 inventory 的数据库和 1 个名为 cars 的表。


inventory.php

<div id="text">

            <?php include("connect-db.php"); ?>

            <?php

                $result = mysql_query("SELECT * FROM cars", $db);
                if (!$result) {
                die("Database query failed: " . mysql_error());
                }


                while ($row = mysql_fetch_array($result)) {
                echo '<div class="i-contain"><div class="i-right"><div class="i-manu">'; 
                echo $row[manufacturer]." ".$row[model]." </div> ";
                echo '<div class="i-mdetails">';
                echo "<a href=\"moredetails.php?id={$nt["id"]}\">$row[id]</a> </div>";
                echo '<div class="i-details">';
                echo $row[year]." <br /> ".$row[mileage]." <br /> ".$row[price]." <br /> ".$row[description]." </div></div>"; 
                echo '<div class="i-image">'; 
                echo '<img class="resize_inv" src=';
                echo $row[image]."  /></div></div> <br />";
                }
            ?>

        </div>

moredetails.php

<body>
<?php include("connect-db.php"); ?>
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

$id = $_GET['id'];
if(! is_numeric($id))
{
echo "Data Error";
exit();
}

$result = mysql_query("SELECT * FROM cars WHERE id=" . intval($_GET["id"]), $db);
if(! $result)
{
die("Database query failed: " . mysql_error());
}

while($row = mysql_fetch_assoc($result))
{
echo $row[manufacturer];
echo $row[model];
echo $row[year] . " <br /> " . $row[mileage] . " <br /> " . $row[price] . " <br /> " . $row[description] . " " . $row[image] . " ";
}
?>
</body>

我没有为我的 connection-db.php 页面粘贴代码,因为它看起来工作正常。但是,如果您需要它,请告诉我。

任何帮助将不胜感激。 谢谢。

【问题讨论】:

  • 查看你生成的html。你确定链接中moredetails.php?id=有一个数字吗?
  • 不,没有数字'.../moredetails.php?id='
  • 你从哪里得到{$nt["id"]}
  • 我将 {$nt["id"]} 更改为 $row[id]。现在将相关的 id 放在链接上。但是现在每个字段条目都会出现此错误'注意:使用未定义的常量制造商 - 在 /websites/123reg/LinuxPackage22/st/an/we/stanwellcars.co.uk/public_html/moredetails.php 中假定为“制造商”在第 48 行福特'
  • 如果你是 PH​​P 和 MySQL 的新手,你应该从右脚开始,不要使用 mysql_* 函数,这些函数已被弃用并将从 PHP 中删除。考虑改用 mysqli 或 PDO。

标签: php mysql database


【解决方案1】:

问题出在这一行:

echo "<a href=\"moredetails.php?id={$nt["id"]}\">$row[id]</a> </div>";

$nt["id"]中的"替换为'

echo "<a href=\"moredetails.php?id={$nt['id']}\">$row[id]</a> </div>";

【讨论】:

  • 我确实尝试过,但没有成功。将 {$nt["id"]} 更改为 $row[id] 并重定向我。但现在会产生一个“未定义的冲突”错误,就像我在上面粘贴的那样。
【解决方案2】:

不确定我是否可以回答我自己的问题,但我已经解决了!

感谢 u_mulder,因为您的评论提示我检查我的代码。

我在这串代码中更改了 {$nt["id"]}

echo "<a href=\"moredetails.php?id={$nt["id"]}\">$row[id]</a> </div>";

echo "<a href=moredetails.php?id=$row[id]>$row[id]</a> </div>";

这解决了链接 ID 问题。

但随后生成了此消息: 注意:使用未定义的常量制造商 - 在 /websites/123reg/LinuxPackage22/st/an/we/stanwellcars.co.uk/public_html/moredeta‌​ils.php 中的第 48 行 ford 中假定为“制造商”

我通过将每个字段条目放在单引号中来修复此错误 例如 $row[制造商]; $row['制造商'];

现在一切正常。谢谢。

【讨论】:

    猜你喜欢
    • 2019-06-22
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多