i am using some easy PHP - PDO to get data from my database, its nothing special in my opinion but the thing is for display data i need to get them from 3 different tables, so i make something like this: public function fetchByVinAxnmrss($con) { $success = false; //$this->vin = "KMHLC81UACU021096"; if($this->vin){ try{ $sql = "SELECT * FROM axnmrs_cases WHERE vin = :vin LIMIT 30"; $stmt = $con->prepare( $sql ); $stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR ); $stmt->execute(); while ($row = $stmt->fetch()){ echo"<tr>"; echo "<td class='number'>".$row['claimnumber']."</td>"; // Remove time from date $date = substr($row['date_created'], 0, -9); echo "<td class='city'>".$date."</td>"; //echo "<td class='street'>Axnmrs</td>"; // Which Insurer work on it? switch ($row['insurer_memberid']) { case "MM-O-37C4CD31-1": echo "<td class='case'>Allianz</td>"; break; case "MM-O-A44710BB-1": echo "<td class='case'>Allianz</td>"; break; case "MM-O-49A8CA6F-1": echo "<td class='case'>Allianz</td>"; break; case "MM-O-C729378F": echo "<td class='case'>AXA</td>"; break; case "MM-O-D2C1CC5": echo "<td class='case'>AXA</td>"; break; case "MM-O-FADFB9B5": echo "<td class='case'>AXA</td>"; break; case "MM-O-3EC11A4B": echo "<td class='case'>AXA</td>"; break; case "MM-O-2F2D436F": echo "<td class='case'>AXA</td>"; break; case "MM-O-C81D91E1": echo "<td class='case'>Česká podnikatelská pojišťovna</td>"; break; case "MM-O-80E4AE2F": echo "<td class='case'>Česká podnikatelská pojišťovna Breclav</td>"; break; case "MM-O-F4C8228F": echo "<td class='case'>Česká podnikatelská pojišťovna Ceska Lipa</td>"; break; case "MM-O-8B7BBE0F": echo "<td class='case'>Česká podnikatelská pojišťovna Ceske Budejovice</td>"; break; case "MM-O-20ACAE0F": echo "<td class='case'>Česká podnikatelská pojišťovna Havlikuv brod</td>"; break; case "MM-O-9DAC6D6F": echo "<td class='case'>Česká podnikatelská pojišťovna Hradec Kralove</td>"; break; case "MM-O-AA1D5C5B": echo "<td class='case'>Česká podnikatelská pojišťovna Jihlava</td>"; break; case "MM-O-98495A0F": echo "<td class='case'>Česká podnikatelská pojišťovna Karlovy Vary</td>"; break; case "MM-O-A028272F": echo "<td class='case'>Česká podnikatelská pojišťovna Kladno</td>"; break; case "MM-O-2B1B1B45": echo "<td class='case'>Česká podnikatelská pojišťovna Katlovy</td>"; break; case "MM-O-F0CFDD29": echo "<td class='case'>Česká podnikatelská pojišťovna Liberec</td>"; break; case "MM-O-F3D7CEDF": echo "<td class='case'>Česká podnikatelská pojišťovna Marianske lazne</td>"; break; case "MM-O-3EC11A4B": echo "<td class='case'>Česká podnikatelská pojišťovna Most</td>"; break; case "MM-O-55DF5BCD": echo "<td class='case'>Česká podnikatelská pojišťovna Olomouc</td>"; break; case "MM-O-E5BE065D": echo "<td class='case'>Česká podnikatelská pojišťovna Ostrava</td>"; break; case "MM-O-C632870B": echo "<td class='case'>Česká podnikatelská pojišťovna Plzen</td>"; break; case "MM-O-8B7CCFF9": echo "<td class='case'>Česká podnikatelská pojišťovna Praha</td>"; break; case "MM-O-FA9D9AAF": echo "<td class='case'>Česká podnikatelská pojišťovna Strakonice</td>"; break; case "MM-O-3E1A67B9": echo "<td class='case'>Česká podnikatelská pojišťovna Tabor</td>"; break; case "MM-O-CF600685": echo "<td class='case'>Česká podnikatelská pojišťovna Teplice</td>"; break; case "MM-O-55DCBE4F": echo "<td class='case'>Česká podnikatelská pojišťovna Usti nad Labem</td>"; break; case "MM-O-5BDB486F": echo "<td class='case'>Česká podnikatelská pojišťovna Zlin</td>"; break; case "MM-O-56FBC8EB": echo "<td class='case'>Česká pojišťovna - Slovensko</td>"; break; case "MM-O-B5FD6799": echo "<td class='case'>Česká pojišťovna - Slovensko</td>"; break; case "MM-O-72C6FD4F": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-B09CAD4F": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-8484AD31-1": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-5D6CBE83": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-4850B095": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-49A8CA6F-2": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-869DC2EF": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-E390390F": echo "<td class='case'>Ceská stavební s.r.o.</td>"; break; case "MM-O-7EB15A0F": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-679147C3": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-8484AD31-2": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-8484AD31": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-78EFD7AF": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-4850B095-1": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-F79C266F": echo "<td class='case'>Česká pojišťovna</td>"; break; case "MM-O-DB6C8E89": echo "<td class='case'>Česká podnikatelská pojišťovna</td>"; break; case "MM-O-FB6CEE51": echo "<td class='case'>CSAD Frydek Mistek</td>"; break; case "MM-O-4344884F": echo "<td class='case'>CSAD Turnov</td>"; break; case "MM-O-171245CF": echo "<td class='case'>CSAD Praha</td>"; break; case "MM-O-8A8C017E": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-41DAE04F": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-7F5A43CF": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-BF07BC5F": echo "<td class='case'>ČSOB Pojišťovna Brno</td>"; break; case "MM-O-7EB15A0F": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-2928FDCF": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-1C8C77EF": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "MM-O-F2E015AB": echo "<td class='case'>ČSOB Pojišťovna</td>"; break; case "Member_C29D87ED-4B6B-3617": echo "<td class='case'>Experta</td>"; break; case "MM-O-DF0368E1": echo "<td class='case'>Experta Assistance</td>"; break; case "MM-O-45A3932F": echo "<td class='case'>Generali Poistovna</td>"; break; case "MM-O-37C4CD31-2": echo "<td class='case'>Generali</td>"; break; case "MM-O-6972ED53": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-5D6CBE83-1": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-8AB24F6D-1": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-49A8CA6F-4": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-22AC8AF1": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-22AC8AF1-1": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-966DD32F": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-B51C9EF": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-FA6792AF": echo "<td class='case'>Global Expert</td>"; break; case "MM-O-B6239C27": echo "<td class='case'>Kooperativa</td>"; break; case "MM-O-190AEE2F": echo "<td class='case'>Kooperativa SR</td>"; break; case "MM-O-A57BD32F": echo "<td class='case'>Poistovna</td>"; break; case "MM-O-268FF80F": echo "<td class='case'>Poistovna s.r.o</td>"; break; case "MM-O-69DD8991": echo "<td class='case'>Policie CR</td>"; break; case "MM-O-DE75662B": echo "<td class='case'>Uniqa</td>"; break; case "MM-O-5B57274F": echo "<td class='case'>Uniqa pojišťovna</td>"; break; case "MM-O-4850B095-2": echo "<td class='case'>Uniqa pojišťovna</td>"; break; case "MM-O-5748D9EF": echo "<td class='case'>Uniqa pojišťovna</td>"; break; case "MM-O-D49AADF1": echo "<td class='case'>Uniqa pojišťovna</td>"; break; case "MM-O-2ED3E46F": echo "<td class='case'>Uniqa pojišťovna</td>"; break; case "MM-O-C7592B8F": echo "<td class='case'>Uniqa pojišťovna SK</td>"; break; case "MM-O-616E3D01": echo "<td class='case'>Wüstenrot</td>"; break; case "MM-O-8ADCAA4B": echo "<td class='case'>Wüstenrot</td>"; break; case "MM-O-BDD15299": echo "<td class='case'>Wüstenrot</td>"; break; case "MM-O-22401A8F": echo "<td class='case'>Wüstenrot</td>"; break; case "MM-O-5568720F": echo "<td class='case'>Slavia pojišťovna</td>"; break; case "MM-O-26D1C0EF": echo "<td class='case'>Servisní pojišťovna</td>"; break; case "MM-O-D45A6DEF": echo "<td class='case'>Triglav Pojišťovna</td>"; break; case "MM-O-26D1C0EF": echo "<td class='case'>Servisní pojišťovna</td>"; break; default: echo "<td class='case'>Servis</td>"; } echo "<td class='country'>".$row['country']."</td>"; echo "<td class='action'><button class='btn btn-flat btn-view'><span class='glyphicon glyphicon-eye-open' title='Show Detail'></span></button></td>"; echo"</tr>"; echo"<tr class='detail'>"; echo"<td colspan='6'>"; echo "<div class='case-detail row'>"; echo "<div class='col-xs-6 col-md-3'>"; echo"<dl>"; // What parts are used echo "<dt>Použité náhradní díly</dt>"; if ($row['part_supplier']=1){ echo "<dd>Originální</dd>";} else{ echo "<dd>Alternativní</dd>";} echo "<dt>Datum vytvoření případu</dt>"; echo "<dd>".$row['date_created']."</dd>"; echo "<dt>SPZ</dt>"; echo "<dd>".$row['platenumber']."</dd>"; echo "<dt>Totální škoda</dt>"; if (empty($row['totalloss'])){ echo $row['totalloss']; echo "<dd>Ne</dd>";} else{ echo "<dd>Ano</dd>";} echo "<dt>VIN</dt>"; echo "<dd>".$row['vin']."</dd>"; $this->manufacturer_code = $row['lastcalc_manufacturer_code']; $this->main_type = $row['lastcalc_model_code']; $this->subtype_code = $row['lastcalc_submodel_code']; echo "<dt>Druh vozidla</dt>"; echo "<dd>".$this->getCarType()."</dd>"; echo"</dl>"; echo"</div>"; // DRUHY STLPEC echo"<div class='col-xs-6 col-md-3'>"; echo"<dl>"; echo "<dt>Identifikace vozidla pomocí AudaVIN</dt>"; if (isset($row['audavin_trigged'])){ echo "<dd>Ano</dd>";} else{ echo "<dd>Ne</dd>";} // DATUM NEHODY echo "<dt>Datum nehody</dt>"; if ($row['accident_date'] == "0000-00-00 00:00:00"){ echo "<dd>Neni k dispozici</dd>"; } else{ echo "<dd>".$row['accident_date']."</dd>"; } // DATUM REGISTRACE VOZIDLA echo "<dt>Datum registrace vozidla</dt>"; if ($row['registration_date'] == "0000-00-00 00:00:00"){ echo "<dd>Neni k dispozici</dd>"; } else{ echo "<dd>".substr($row['registration_date'], 0, 10)."</dd>"; } echo"</dl>"; echo"</div>"; $this->case = $row['case_id']; /* try{ $sql = "SELECT * FROM axnmrs_calculations WHERE case_id = :case LIMIT 100"; $stmt = $con->prepare( $sql ); $stmt->bindValue( "case", $this->case, PDO::PARAM_STR ); $stmt->execute(); while ($row = $stmt->fetch()){ $this->calculationid = $row['calculation_id']; echo "<dt>Cena náhradních dílů</dt>"; echo "<dd>".$row['spareparts']."</dd>"; echo "<dt>Celkové náklady</dt>"; echo "<dd>".$row['totalcosts']."</dd>"; echo"</dl>"; echo"</div>"; echo"<div class='col-xs-6 col-md-3'>"; echo"<dl>"; echo "<dt>Celkový počet hodin práce</dt>"; echo "<dd>".$row['laborhours']."</dd>"; echo "<dt>Datum vytvoření kalkulace</dt>"; echo "<dd>".substr($row['calculationdate'], 0, 17)."</dd>"; // ODSTRANIT 0000 echo "<dt>Lakovací materiál</dt>"; echo "<dd>".$row['paintmaterial']."</dd>"; echo "<dt>Náklady na práci</dt>"; echo "<dd>".$row['laborcosts']."</dd>"; echo "<dt>Náklady na lakování</dt>"; echo "<dd>".$row['paintlabor']."</dd>"; echo "<dt>Měna</dt>"; echo "<dd>".$row['currency']."</dd>"; echo"</dl>"; echo"</div>"; } }catch(PDOExeption $e){ echo $e->getMessage(); echo $con->errorInfo(); } */ echo"<div class='col-xs-6 col-md-3'>"; echo"<dl>"; echo "<dt>Seznam použitých náhradních dílů </dt>"; //$this->calculationid = $row['calculation_id']; try{ $sql = "SELECT * FROM axnmrs_positions WHERE calculation_id = :calculationid LIMIT 60"; $stmt = $con->prepare( $sql ); $stmt->bindValue( "calculationid", $this->calculationid, PDO::PARAM_STR ); $stmt->execute(); while ($row = $stmt->fetch()){ echo "<dd>".$row['text']."</dd>"; } }catch(PDOExeption $e){ echo $e->getMessage(); echo $con->errorInfo(); } echo"</dl>"; echo"</div>"; //return $success; */ echo"</div>"; echo "</td>" ; echo "</tr>"; } }catch(PDOExeption $e){ echo $e->getMessage(); echo $con->errorInfo(); } return $success; } }我确信您一直都在找它,但问题是我只得到一个结果,尽管如果我查看数据库它应该显示更多结果.因此,我尝试逐步检查它,发现如果我在表上注释掉其他连接,它就可以正常工作(只是不要从它们中散失结果ofc),所以有人在这里可以帮助我解决此问题吗?还是给我建议?这是我的第一个使用PDO和OOP的项目,所以有点混乱,对此感到抱歉:(I am sure you find it its just same thing all the time, but the problem is i get just one result, dispite the fact it should display more result if i look in a database. So i try to check it step by step and find out that if i comment out other connects on tables it works fine (just dont dispaly results from them ofc) so is here anybody who can help me to fix this isue ? Or give me advise? This is my first project with PDO and OOP so its a bit messy, sorry for that :(推荐答案我们真的需要整个开关盒吗?而且代码缩进不好,因此很难阅读.但是我认为,问题是,您在循环中重写了$ stmt和$ row变量.循环使用其他名称.Do we really need this whole switch case thing? And code is not indented nicely, so it's hard to read.But i think, the problem is that, you rewrite the $stmt an $row variables in the loop. Use another name for them in loop. 这篇关于PHP中的PDO中的PDO问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!