login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_fetch_object()

Offline jarro - 21/01/2006 18:56
Avatar van jarroHTML interesse Goeieavond mensen!

Ik heb een foutmelding op line 73 en ik kom er niet uit! ik zie de fout echt niet.. lijn 73 is de regel met while:

  1. <?
  2. for($i=0; $i <= count($product);$i++){
  3. $query = mysql_query("SELECT * FROM product WHERE id = ".$product[$i]);
  4.  
  5. while($obj = mysql_fetch_object($query)){
  6. $totaalprijs = $obj->prijs*$aantal[$i];
  7. echo "<a href=index.php?p=prod&id=".$product[$i].">".$obj->prodnaam."</a>, ".$obj->prijs." x ".$aantal[$i]." = ".$totaalprijs." <input type='checkbox' name='del[]' value='".$product[$i]."'><br>";
  8. }
  9.  
  10. }


genereert fout: Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /******/public_html/gvn/ww.php on line 73
Ziet iemand de fout?

9 antwoorden

Gesponsorde links
Offline webstab - 21/01/2006 19:10
Avatar van webstab PHP ver gevorderde $query = mysql_query("SELECT * FROM product WHERE id = ".$product[$i]) or die(mysql_error());
en zie wat er fout is aan uw query...
Offline jarro - 21/01/2006 19:13 (laatste wijziging 21/01/2006 19:22)
Avatar van jarro HTML interesse 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 '' at line 1

Dit is mijn hele script
  1. <?
  2. include('config.php');
  3.  
  4. mysql_connect(localhost,$mysqlname,$mysqlpass);
  5. $query = mysql_query("SELECT id FROM product");
  6. $aantalprod = mysql_num_rows($query);
  7.  
  8.  
  9. if(isset($_POST['del']) && $_POST['del'] != ''){
  10. $delarray = $_POST['del'];
  11. $product = $_SESSION['product'];
  12. $aantal = $_SESSION['aantal'];
  13. for($i=0; $i < count($delarray); $i++){
  14. $delwaarde = $delarray[$i];
  15. $key = array_keys ($product, $delwaarde);
  16. unset($product['$key']);
  17. unset($aantal['$key']);
  18. $product=array_chunk($product,count($product));
  19. $product=$product[0];
  20. $aantal=array_chunk($aantal,count($aantal));
  21. $aantal=$aantal[0];
  22. $_SESSION['product'] = $product;
  23. $_SESSION['aantal'] = $aantal;
  24. }
  25. } else {
  26.  
  27. if(isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0 && $_GET['id'] <= $aantalprod){
  28. $q_vraad = mysql_query("SELECT * FROM product WHERE id = ".$_GET['id']);
  29. while($obj_vraad = mysql_fetch_object($q_vraad)){
  30. $voorraad[] = $obj_vraad->voorraad;
  31. }
  32. if(isset($_GET['aantal']) && is_numeric($_GET['aantal']) && $_GET['aantal'] > 0 && $_GET['aantal'] <= $voorraad[0]){
  33. if(!isset($_SESSION['product'])){
  34. $product = array();
  35. $product[] = $_GET['id'];
  36. $_SESSION['product'] = $product;
  37. $aantal = array();
  38. $aantal[] = $_GET['aantal'];
  39. $_SESSION['aantal'] = $aantal;
  40. } else {
  41. $product = $_SESSION['product'];
  42. $aantal = $_SESSION['aantal'];
  43. if(in_array($_GET['id'], $product)){
  44. $key = array_keys($product, $_GET['id']);
  45. $aantal['$key'] = $aantal['key']+$_GET['aantal'];
  46. $_SESSION['product'] = $product;
  47. $_SESSION['aantal'] = $aantal;
  48. } else {
  49. $product[] = $_GET['id'];
  50. $aantal[] = $_GET['aantal'];
  51. $_SESSION['product'] = $product;
  52. $_SESSION['aantal'] = $aantal;
  53. }
  54. }
  55. } else {
  56. echo "U heeft een ongeldig aantal meegegeven";
  57. }
  58. } else {
  59. //Hier komt niks, zodat het winkelwagentje getoont kan worden, zonder problemen!
  60. }
  61. //Hier de inhoud van de winkelwagen tonen.
  62. $product = $_SESSION['product'];
  63. $aantal = $_SESSION['aantal'];
  64. echo "<form action=index.php?p=ww method='post'>";
  65.  
  66. //dit is het mooie werk: zorg ervoor dat alle producten, met stuk- en totaal prijs worden afgedrukt)
  67.  
  68. for($i=0; $i <= count($product);$i++){
  69. $query = mysql_query("SELECT * FROM product WHERE id = ".$product[$i]) or die(mysql_error());
  70.  
  71. while($obj = mysql_fetch_object($query)){
  72. $totaalprijs = $obj->prijs*$aantal[$i];
  73. echo "<a href=index.php?p=prod&id=".$product[$i].">".$obj->prodnaam."</a>, ".$obj->prijs." x ".$aantal[$i]." = ".$totaalprijs." <input type='checkbox' name='del[]' value='".$product[$i]."'><br>";
  74. }
  75.  
  76. }
  77. echo "<a href='index.php?p=order'> Naar de kassa!</a> <input type=submit>";
  78.  
  79. }
  80. ?>
Offline TFOL - 21/01/2006 19:18
Avatar van TFOL PHP beginner met [.code]-tags leest het iets makkelijker 
Offline jarro - 21/01/2006 19:24 (laatste wijziging 21/01/2006 19:27)
Avatar van jarro HTML interesse ok ik krijg nu de mysqlerror niet meer, maar mijn hele script werkt ook niet meer.. ik heb de for veranderd, for($i=0; $i <= count($product);$i++){} naar for($i=0; $i < count($product);$i++){}

maar ik hou: 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 '' at line 1
Offline webstab - 21/01/2006 19:38
Avatar van webstab PHP ver gevorderde Er is dus iets fout met uw query. Ben je er zeker van dat alle kolomnamen wel bestaan?
Offline jarro - 21/01/2006 19:43
Avatar van jarro HTML interesse ja dat weet ik cker, en daar komt bij dat er slecht bij 1 SELECT een waarde is op gegeven (id) en voor de rest is het allemaal SELECT * FROM dusja.. maar ik vind het ook zo raar dat hij het heeft over line 1..
Offline Rens - 22/01/2006 02:01 (laatste wijziging 22/01/2006 02:02)
Avatar van Rens Gouden medaille

Crew algemeen
Doe eens het volgende (in je for loop):
  1. echo $product[$i];

en zie of er iets op het scherm komt.
Als er niks op het scherm komt, is $product[$i] dus leeg en daardoor krijg je dan die fout...
Offline jarro - 22/01/2006 03:02
Avatar van jarro HTML interesse heb ik gedaan, ik heb zelfs dat geprobeerd tezamen met het weglaten van de hele while-loop, inclusief de query, en dan nog geeft hij dit:

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 '' at line 1

Ik snap het echt niet, line 1 is gewoon de PHP-opening ('<?') dusja ik vind het heel raar..
Offline Richard - 22/01/2006 07:55
Avatar van Richard Crew algemeen doe eens bij ALLE queries

  1. mysql_query ($query) or die ($query . '<br />' . mysql_error ());
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s