login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Waarom doet hij het niet? (Opgelost)

Offline leroyvanloon - 06/11/2009 15:56 (laatste wijziging 06/11/2009 15:56)
Avatar van leroyvanloonLid Beste mensen,,

Ben bezig met een websitje game-scene.com. Nu ben ik bezig met de match pagina maken, enkel krijg ik steeds deze fout:

  1. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 'match where match_id=''' at line 1


www.game-scene.com/site/pages/match.php?match_id=1 (werkt niet)
www.game-scene.com/site/pages/clanprofile.php?clan_id=1 (werkt wel)

Het is bijna het zelfde script alleen werkt de onderste wel en bovenste niet?

  1. <?php
  2. include ('dbc.php');
  3. $match_id=$_GET['match_id'];
  4. $bbb = mysql_query("SELECT match_id,match_name FROM teams WHERE match_id = '".$match_id."'") or die(mysql_error());
  5. while ($list = mysql_fetch_object($bbb)) {
  6.  
  7. $id = "$list->match_id";
  8. $query = mysql_query("SELECT * FROM match WHERE match_id='".$id."'");
  9. $match_name = "$list->match_name";
  10.  
  11.  
  12. }
  13.  
  14. ?>


Om dit stuk gaat het denk ik

10 antwoorden

Gesponsorde links
Offline jaronneke - 06/11/2009 15:57 (laatste wijziging 06/11/2009 15:58)
Avatar van jaronneke MySQL interesse $id = $list->match_id;

edit:
zelfde voor :

$match_name = $list->match_name;


De vars horen buiten quotes

voorbeeld:

  1. $string = 'hoi';
  2. echo "$string"; #FOUT
  3. echo $string; #GOED
Offline leroyvanloon - 06/11/2009 16:09 (laatste wijziging 06/11/2009 16:10)
Avatar van leroyvanloon Lid Maar hoe kan het dan dat het eene script wel werkt, en de anderen niet? :O

Heb nu dit geprobeerd steeds de zelfde fout?

  1. <html>
  2. <head>
  3. <body>
  4. <center>
  5. <?php
  6.  
  7. include("dbc.php");
  8.  
  9. $id = htmlentities($_GET["match_id"], ENT_QUOTES);
  10. $query = mysql_query("select * from match where match_id='".$id."' ") or die (mysql_error());
  11. while($row = mysql_fetch_array($query))
  12. {
  13. ?>
  14.  
  15.  
  16.  
  17. <table width="50%" border="1">
  18. <tr>
  19. <td colspan="3">
  20. <center><b>Match ID:<?php echo $row["match_id"]; ?></b></center>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td rowspan="4">
  25. <center><img width="200" height="200" src="images/teamlogo/"></center>
  26. <br>
  27. </td>
  28. <td>
  29. </td>
  30. <td rowspan="4">
  31. <center><img width="200" height="200" src="images/teamlogo/"></center>
  32. <br>
  33. </td>
  34. </tr>
  35. <tr>
  36.  
  37. <td>
  38. <center><img width="200" height="50" src="images/gamebanners/cssource.jpg"></center>
  39. </td>
  40. </tr>
  41. <tr>
  42.  
  43. <td>
  44. <center><h2>VS</h2></center>
  45. </td>
  46. </tr>
  47. <tr>
  48.  
  49. <td>
  50. <center> 00 - 00 </center>
  51. </td>
  52. </tr>
  53. </table>
  54.  
  55. </body>
  56. <title>Matches - Game-Scene.COM</title>
  57. </head>
  58. </html>
  59.  
  60.  
  61. <?php
  62. }
  63. ?>
Offline NTS64 - 06/11/2009 16:17
Avatar van NTS64 PHP gevorderde Volgens die error blijkt de variabele $id die je in je WHERE clause gebruikt leeg te zijn. Je kijkt best eerst of $_GET['id'] wel bestaat, anders krijg je steeds een foutmelding indien niet. En waarom stop je je GET vars in een aparte variabele? Er is niets mis mee om deze rechtstreeks in een query te gebruiken. Met rechtstreeks bedoel ik dan niet dat je veiligheidsmaatregelen moet achterwege laten, maar je kan wel achterwege laten vars onnodig dubbel te declareren.
Offline leroyvanloon - 06/11/2009 17:28
Avatar van leroyvanloon Lid Hoe werkt ie dan wel, zou je dat even kunnen aanpassen?
Offline Joost - 06/11/2009 17:33
Avatar van Joost PHP expert MATCH is een keyword in MySQL Even escapen met backticks (`), maar nog beter is dat je een andere tabelnaam kiest 
Offline leroyvanloon - 06/11/2009 18:02
Avatar van leroyvanloon Lid Hoe bedoel je??

  1. match_id='(".$id.")'


zo?
Offline vinTage - 06/11/2009 18:08
Avatar van vinTage Nieuw lid nee...

select * from match
Offline leroyvanloon - 06/11/2009 18:39
Avatar van leroyvanloon Lid dus

  1. SELECT * FROM 'match'


Maar als ik match_id verander in id maakt dat verschil?
Offline Joost - 06/11/2009 18:43
Avatar van Joost PHP expert
  1. SELECT * FROM `match`

Maar zoals ik al zei, beter kan je een andere tabelnaam nemen.

Als je het én in je query én in de database doet is dat geen probleem 
Offline leroyvanloon - 06/11/2009 18:48 (laatste wijziging 06/11/2009 18:54)
Avatar van leroyvanloon Lid oo lekker dom van mij, sorry 

Hij werkt nu prima 

http://game-sce...p?wed_id=1
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.233s