Php页面没有显示

时间:2016-02-03 23:55:17

标签: php mysql join where

我在显示JOIN语句时遇到问题。当我添加

 WHERE id = " . $team_id; 

数据库中的信息将不会显示,但是当我删除该行时,信息将正确加入并显示在“teaminfo.php”页面上,但它将显示所有数据而不是数据。这个id独一无二。此外,当我删除JOIN时,将显示id唯一的数据。任何人都可以告诉我这里有什么不对。任何帮助都会很棒。比你。

teaminfo.php

<html>
<head>
<title>Team Info page</title>
</head>
<body>
<?php

    include 'connect.php';
$team_id = $_GET['id'];

// SQL query
$query = " SELECT *
FROM pitscouting 
JOIN fieldscouting 
ON pteam_number = fteam_number
WHERE id = " . $team_id;


if ($result = mysqli_query($mysqli, $query)) {

/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {

   // Write the data of the team
    echo "<br />";
    echo "Pit scouting";
    echo "<dt>Team:</dt><dd>" . $row["pteam_number"] . " " . $row["pteam_name"] . "</dd>";
    echo "<dt>Auto:</dt><dd>" . $row["pauto"] . "</dd>";
    echo "<dt>Drive:</dt><dd>" . $row["pdrive"] . "</dd>";
    echo "<dt>Objetcs With No Problem?</dt><dd>" . $row["pobjNoProblem"] . "</dd>";
    echo "<dt>Objects They have a problem with?</dt><dd>" . $row["pobjWithProblem"] . "</dd>";
    echo "<dt>Can they shoot? If yes from where and how acc</dt><dd>" . $row["pshoot"] . "</dd>";
    echo "<dt>Extra Notes about their robot?</dt><dd>" . $row["pdrive"] . "</dd>";

    echo"<br />";

    echo "Field Scouting ";
    echo "<dt>Team Number:</dt><dd>" . $row["fteam_number"] . "</dd>";
    echo "<dt>Auto:</dt><dd>" . $row["fauto"] . "</dd>";
    echo "<dt>Drive:</dt><dd>" . $row["fdrive"] . "</dd>";
    echo "<dt>Objetcs With No Problem?</dt><dd>" . $row["fobjNoProblem"] . "</dd>";
    echo "<dt>Objects They have a problem with?</dt><dd>" . $row["fobjWithProblem"] . "</dd>";
    echo "<dt>Shots taken</dt><dd>" . $row["fshots_taken"] . "</dd>";
    echo "<dt>Shorts made</dt><dd>" . $row["fshots_made"] . "</dd>";
    echo "<dt>Extra Notes</dt><dd>" . $row["fnotes"] . "</dd>";


  }

  mysqli_free_result($result);

 }


// Close the database connection
mysqli_close($mysqli);
?>


<p><a href="palmetto.php">Return to the list</a></p>
</body>
</html>

Palmetto.php

<?php

include 'connect.php';

// SQL query
$query = "SELECT * FROM pitscouting ORDER BY pteam_number";

if($result = mysqli_query($mysqli, $query)){
if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_array($result)){
        $name = $row['pteam_number'] . " " . $row['pteam_name'];

        // Create a link to teaminfo.php with the id-value in the URL
   $strLink = "<a href = 'teaminfo.php?id= " . $row['id'] . "'>" . $name . "</a>";

    // List link
   echo "<li>" . $strLink . "</li>";
    }
    echo "</table>";
    // Close result set
    mysqli_free_result($result);
    } else{
    echo "No records matching your query were found.";
  }
  } else{
  echo "ERROR: Could not able to execute $query. " . mysqli_error($mysqli);
   }
// Close connection
mysqli_close($mysqli);
?>

3 个答案:

答案 0 :(得分:1)

如果您的表都有ID字段,则必须指定要从中获取数据的表。

WHERE pitscouting.id = " . $team_id;

WHERE fieldscouting.id = " . $team_id;

答案 1 :(得分:0)

请在您的代码中提及sql注入

$team_id = $_GET['id'];

// SQL query
$query = " SELECT *
FROM pitscouting 
JOIN fieldscouting 
ON pteam_number = fteam_number
WHERE id = " . $team_id;

请查看准备好的语句,以防止在您的代码中进行sql注入

答案 2 :(得分:0)

尝试添加别名。

$team_id = $_GET['id'];

// SQL query
$query = " SELECT *
FROM pitscouting p
JOIN fieldscouting f
ON p.pteam_number = f.fteam_number
WHERE p1.id = " . $team_id;