Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP&MySQL:使用$\u GET['id']查询匹配的表id_Php_Mysql - Fatal编程技术网

PHP&MySQL:使用$\u GET['id']查询匹配的表id

PHP&MySQL:使用$\u GET['id']查询匹配的表id,php,mysql,Php,Mysql,嘿,伙计们,这里有点麻烦,我不明白为什么我的PHP脚本不能工作 因此,我将首先显示代码,然后回顾我遇到的问题: include('select-stock.php'); include('db-affinity/header-main.php'); ?> <?php $carId = $_GET['id']; ?> <?php try { $carview = $db->prepare("SELECT Make, Model, Colour, FuelType,

嘿,伙计们,这里有点麻烦,我不明白为什么我的PHP脚本不能工作

因此,我将首先显示代码,然后回顾我遇到的问题:

include('select-stock.php');
include('db-affinity/header-main.php'); ?>
<?php $carId = $_GET['id']; ?>
<?php 
try {
$carview = $db->prepare("SELECT Make, Model, Colour, FuelType, Year, Mileage, Bodytype, Doors, Variant, EngineSize, Price, Transmission, PictureRefs, ServiceHistory, PreviousOwners, Options, FourWheelDrive, FullRegistration FROM import WHERE FullRegistration = $carId");
} catch (Exception $e) {
  echo "Error.";
  exit;
}
  $cardata = $carview->fetch(PDO::FETCH_ASSOC)
?>
<div class="container">
  <div class="row">
    <div class="col-md-12 col-sm-12">
    <?php echo "$carId"; ?>
    <?php echo mysql_errno($carview) ?>
    <?php echo '<ul class="overwrite-btstrp-ul other-specs-ul h4-style">
   <li>Mileage: '.number_format($cardata["Mileage"]).'</li>
   <li>Engine size: '.$cardata["EngineSize"].'cc</li>
 </ul>'
 ?>
    </div>
  </div>
</div>
<?php include('db-affinity/footer.php') ?>
理论上

FROM import WHERE FullRegistration = $carId
但是,由于某种原因,在我的服务器上,当我使用上面的脚本时,我会返回nil结果,而不是与我得到的get id匹配的行的结果:

里程:0 发动机尺寸:cc

我知道我的代码目前是不安全的,但是现在它不是一个问题

任何关于为什么我可能会得到零结果的想法,我对这个表的其他查询都可以完美地工作,但是我对这个问题感到烦恼,你能看到这个代码中可能导致这个问题的任何东西吗

下面是代码块select-stock.php顶部包含的其他查询,以防出现问题:

<?php
include('database.php');
try {
  $results = $db->query("SELECT Make, Model, Colour, FuelType, Year, Mileage, Bodytype, Doors, Variant, EngineSize, Price, Transmission, PictureRefs, ServiceHistory, PreviousOwners, Options, FourWheelDrive, FullRegistration FROM import ORDER BY Make ASC");
} catch (Exception $e) {
  echo "Error.";
  exit;
}
///carousel-vehicle results
try {
  $fourresults = $db->query("SELECT Make, Model, Colour, FuelType, Year, Mileage, Bodytype, Doors, Variant, EngineSize, Price, Transmission, PictureRefs, ServiceHistory, PreviousOwners, Options, FourWheelDrive FROM import ORDER BY Make LIMIT 0, 4");
} catch (Exception $e) {
  echo "Error.";
  exit;
}


try {
  $fourresultsone = $db->query("SELECT Make, Model, Colour, FuelType, Year, Mileage, Bodytype, Doors, Variant, EngineSize, Price, Transmission, PictureRefs, ServiceHistory, PreviousOwners, Options, FourWheelDrive FROM import ORDER BY Make LIMIT 4, 4");
} catch (Exception $e) {
  echo "Error.";
  exit;
}


try {
  $fourresultstwo = $db->query("SELECT Make, Model, Colour, FuelType, Year, Mileage, Bodytype, Doors, Variant, EngineSize, Price, Transmission, PictureRefs, ServiceHistory, PreviousOwners, Options, FourWheelDrive FROM import ORDER BY Make LIMIT 8, 4");
} catch (Exception $e) {
  echo "Error.";
  exit;
}


try {
  $makeFilter = $db->query("SELECT DISTINCT Make FROM import ORDER BY Make ASC");
} catch (Exception $e) {
  echo "Error.";
  exit;
}


try {
  $modelFilter = $db->query("SELECT DISTINCT Model FROM import ORDER BY Make ASC");
} catch (Exception $e) {
  echo "Error.";
  exit;
}
?>

所有这些查询都在实时站点上完美地工作,因此db连接显然在工作。

我相信如果您像这样更改代码,它将工作:

$carview=$db->Prepare选择品牌、型号、颜色、燃油类型、年份、里程、车身类型、车门、变型、发动机规格、价格、变速器、图片功能、维修历史记录、以前的车主、选项、四轮驱动、从导入的完整注册,其中完整注册=“$carId”


但是,在继续之前,请确保让自己了解的危险,否则我可以删除或转储数据库中的每个表,只需将相应的值传递给?id=…

Antoan代码就可以了;他的回答的第二部分更为重要。如果您的“id”值是我猜的数字

$_GET['$carId'] = intval($_GET['$carId'])
这是一个简单的方法,也是一个很好的起点

$_GET['$carId'] = intval($_GET['$carId'])