Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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仅显示来自db的两个条目_Php_Mysql_Twitter Bootstrap - Fatal编程技术网

php仅显示来自db的两个条目

php仅显示来自db的两个条目,php,mysql,twitter-bootstrap,Php,Mysql,Twitter Bootstrap,我有以下mysql表: CREATE TABLE IF NOT EXISTS `spieler` ( `spielerID` int(11) NOT NULL, `name` varchar(50) COLLATE latin1_german1_ci NOT NULL, `vorname` varchar(50) COLLATE latin1_german1_ci NOT NULL, `jahrgang` varchar(10) COLLATE latin1_german1_ci NOT NUL

我有以下mysql表:

CREATE TABLE IF NOT EXISTS `spieler` (
`spielerID` int(11) NOT NULL,
`name` varchar(50) COLLATE latin1_german1_ci NOT NULL,
`vorname` varchar(50) COLLATE latin1_german1_ci NOT NULL,
`jahrgang` varchar(10) COLLATE latin1_german1_ci NOT NULL,
`bemerkung` varchar(300) COLLATE latin1_german1_ci NOT NULL,
`mannschaft` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;

ALTER TABLE `spieler`
ADD PRIMARY KEY (`spielerID`),
ADD KEY `mannschaft` (`mannschaft`);
ALTER TABLE `spieler`
MODIFY `spielerID` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `spieler`
ADD CONSTRAINT `spieler_ibfk_1` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`);
以及从数据库中获取数据的php代码:

$id = $_GET['id'];
//echo "ID ist".$id;
$sql = "SELECT * FROM spieler WHERE mannschaft = '.$id.'";
if (!$result = $db->query($sql)) {
 die("Fehler: ['.$db->error.']");
}
echo "<table class='table table-striped'>";
echo "<tr><td><b>ID</b></td><td><b>Name</b></td><td><b>Vorname</b></td><td><b>Jahrgang</b></td><td><b>Bemerkung</b></td><td><b>Bearbeiten</b></td><td><b>Löschen</b></td></tr>";
while ($row = $result->fetch_assoc()) {
  echo '<tr><td>'.$row['spielerID'] . '</td><td>'.$row['name'].'</td><td>'.$row['vorname'].'</td><td>'.$row['jahrgang'].'</td><td>'.$row['bemerkung'].'</td><td><a href="bearbeiten.php?spielerID='.$row['spielerID'].'"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a></td><td><a href="delete.php?spielerID='.$row['spielerID'].'"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></a></td></tr>';
}
echo "</table>";
$id=$\u GET['id'];
//回显“ID ist”。$ID;
$sql=“从Spiler中选择*,其中mannschaft=”.$id.”;
if(!$result=$db->query($sql)){
模具(“费勒:['.$db->错误'.]]”;
}
回声“;
回声“IDNameVornameJahrgangBemerkungBearbeitenLöschen”;
而($row=$result->fetch_assoc()){
回音“.$row['spielerID'..”.$row['name'..”.$row['vorname'..”.$row['jahrgang'..”.$row['bemerkung'.]”;
}
回声“;
如果表中只有两个条目,那么上面的代码工作得非常好。但如果有两个以上的条目,则无法显示该表。它只显示桌面


我做错了什么?还是我遗漏了什么?

更改sql查询,如下所示

$sql = "SELECT * FROM spieler WHERE mannschaft = '".$id."'";

谢谢,伙计,成功了!你能解释一下这种行为吗?为什么它使用两个实体而不是三个实体?我认为查询中$id的值只匹配表中的两行值,这就是为什么它会给您两行。如果你想查一下,打印您的查询并检查$id的值,然后检查您的表。因此,我的查询看起来像是
SELECT*FROM spieler WHERE mannschaft='.1'
,新查询看起来像
SELECT*FROM spieler WHERE mannschaft='1'
,但表中的两次id都是1,我认为它检查了表中的ascii值'.'。