【发布时间】: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 行福特'
-
如果你是 PHP 和 MySQL 的新手,你应该从右脚开始,不要使用
mysql_*函数,这些函数已被弃用并将从 PHP 中删除。考虑改用 mysqli 或 PDO。