login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MySQL_query fout niet geldig argument (Opgelost)

Offline GTW - 01/02/2006 21:16
Avatar van GTWGouden medaille

PHP gevorderde
Hoi,

Ik ben een beetje aan het klooien met MySQL en ik krijg de hele tijd de zelfde error namelijk:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/www/webmaster.mybesthost.com/MySQL/voer_in.php on line 47

Dit is de code die ik ervoor gebruik:
  1. <?php
  2. $query="INSERT INTO leden ( `voornaam` , `geslacht`) VALUES ('GTW', 'M') ";
  3. $result=mysql_query($query, $select_db) or die(mysql_error());
  4. ?>


Weet iemand wat ik hiertegen kan doen? De config klopt.

10 antwoorden

Gesponsorde links
Offline timo - 01/02/2006 21:19
Avatar van timo PHP ver gevorderde
  1. <?php
  2. $query = "INSERT INTO leden (voornaam,geslacht) VALUES ('GTW','M') ";
  3. $result = mysql_query($query, $select_db) or die(mysql_error());
  4. ?>

als dit niet werkt: bestaat de db en de tabel wel?
Offline Zendra - 01/02/2006 21:29
Avatar van Zendra Nieuw lid De tabel zal zeker bestaan, anders zou er een fout terug gestuurd worden door mysql_error().

Alleen er moet misschien eerst een MySQL database geselecteerd worden. Dit afzonderlijk altijd doen in een query kost te veel werk en tijd. En als gevolg je hebt altijd bugs over je gehele website.

Ik stel gewoon voor om de $select_db-variable weg te laten en die code te vervangen door mysql_select_db('Gegevens');. Dit echter wel ergens in een include file of boven aan zodat er altijd een database is geselecteerd. 
Offline Rens - 01/02/2006 21:43
Avatar van Rens Gouden medaille

Crew algemeen
Haal die $select_db er eens uit.
Je krijgt een MySQL-Link resource.
En als je kijkt op PHP.net: mysql_query, zie je daar staan:
Citaat:
resource mysql_query ( string query [, resource link_identifier])
Offline GTW - 02/02/2006 09:33 (laatste wijziging 02/02/2006 09:34)
Avatar van GTW Gouden medaille

PHP gevorderde
Ja, dat klopt. Dan krijg ik die error en dan doet hij verder nog niets :S

Ik zal mijn hele script even posten, misschien dat het dan goed zichtbaar is...

index.php
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Login || GTW</title>
  5. <style type="text/css">
  6. <!--
  7. .style1 {
  8. font-size: 24px;
  9. font-weight: bold;
  10. color: #333333;
  11. }
  12. body {
  13. background-color: #CCCCCC;
  14. }
  15. -->
  16. </style>
  17. </head>
  18.  
  19. <body>
  20. <form action="voer_in.php" method="post" name="registreer" id="registreer">
  21. <label for="textfield"></label>
  22. <label for="label"></label>
  23. <br>
  24. <label for="label2"></label>
  25. <div align="center"><br>
  26. <span class="style1">Login</span><br>
  27. </div>
  28. <label for="label3"></label>
  29. <br>
  30. <label for="label4"></label>
  31. <table width="439" border="1" align="center">
  32. <tr>
  33. <td><label for="label5">Voornaam</label></td>
  34. <td><input name="voornaam" type="text" id="voornaam" maxlength="20"></td>
  35. </tr>
  36. <tr>
  37. <td><label for="label5">Achternaam</label></td>
  38. <td><input name="achternaam" type="text" id="label" maxlength="20"></td>
  39. </tr>
  40. <tr>
  41. <td height="26">Nickname</td>
  42. <td><input type="text" name="nicknaam" id="label2"></td>
  43. </tr>
  44. <tr>
  45. <td height="26"><label for="label5">Wachtwoord:</label></td>
  46. <td><label for="textfield"></label>
  47. <input type="password" name="ww1" id="ww1"></td>
  48. </tr>
  49. <tr>
  50. <td>Wachtwoord (verificatie): </td>
  51. <td><label for="label6"></label>
  52. <input type="password" name="ww2" id="label6"></td>
  53. </tr>
  54. <tr>
  55. <td>Geslacht:
  56. </td>
  57. <td><input name="geslacht" type="radio" value="M" id="M">
  58. Man
  59. <input name="geslacht" type="radio" value="V" id="V">
  60. Vrouw</td>
  61. </tr>
  62. <tr>
  63. <td><label for="label5">E-Mail adres:</label></td>
  64. <td><input name="email1" type="text" id="label3" maxlength="35"></td>
  65. </tr>
  66. <tr>
  67. <td><label for="label5">E-Mail adres (verificatie):</label></td>
  68. <td><input name="email2" type="text" id="label4" maxlength="35"></td>
  69. </tr>
  70. </table>
  71. <div align="center"><br>
  72. <label for="Submit"></label>
  73. <p>
  74. <input type="submit" name="Submit" value="Registreer" id="Submit">
  75. <br>
  76. <br>
  77. <input type="reset" name="reset" value="Reset" id="label5"></p>
  78. </div>
  79. </form>
  80. </body>
  81. </html>

voer_in.php
  1. <?php
  2. include ("config.php");
  3. //De variaties voor de ingevoerde velden
  4. $voornaam = $_POST['voornaam'];
  5. $achternaam = $_POST['achternaam'];
  6. $nicknaam = $_POST['nicknaam'];
  7. $ww1 = $_POST['ww1'];
  8. $ww2 = $_POST['ww2'];
  9. $geslacht = $_POST['geslacht'];
  10. $mail1 = $_POST['email1'];
  11. $mail2 = $_POST['email2'];
  12.  
  13. //eerst controleren of er velden niet zijn ingevuld
  14. if(
  15. ($voornaam == null or $voornaam == "")
  16. or
  17. ($achternaam == null or $achternaam == "")
  18. or
  19. ($nicknaam == null or $nicknaam == "")
  20. or
  21. ($ww1 == null or $ww1 == "")
  22. or
  23. ($ww2 == null or $ww2 == "")
  24. or
  25. ($geslacht != "M" and $geslacht != "V")
  26. or
  27. ($mail1 == null or $mail1 == "")
  28. or
  29. ($mail2 == null or $mail2 =="")
  30. ){
  31. echo ("1 of meer velden zijn niet correct ingevuld!<br /><a href=javascript:history.go(-1)>Klik hier om terug te gaan</a>");
  32. }
  33. else{
  34. //De dubbele velden controleren
  35. if(
  36. $ww1 != $ww2)
  37. {echo ("Je wachtwoorden zijn niet gelijk<br /><a href=javascript:history.go(-1)>Klik hier om terug te gaan</a>");
  38. if(
  39. $mail1 != $mail2)
  40. {echo ("Je mailadressen zijn niet gelijk<br /><a href=javascript:history.go(-1)>Klik hier om terug te gaan</a>");
  41. //Hier worden de gegevens ingevoerd in de MySQL tabel
  42. $result = mysql_query("INSERT INTO test (id, voornaam , achternaam , email , nickn , wachtwoord , geslacht , aanmelding ) VALUES ('','".$voornaam."', '".$achternaam."', '".$mail1."', '".$nicknaam."', '".$ww1."', '".$geslacht."', 'NOW()')") or die('insert query failed');
  43. }
  44. ?>

config.php
  1. <?php
  2. $hostnaam = "sql";
  3. $gebruikersnaam_SQL = "db_GTW";
  4. $Password_SQL = "******";
  5. $databasenaam = "db_GTW";
  6. $bedrijf = "GTW Online";
  7. $connect = "mysql_connect('$hostnaam','$gebruikersnaam_SQL','$Password_SQL')";
  8. $select_db = "mysql_select_db('$databasenaam') OR die('kan niet bij de database')";
  9. ?>
Offline Thomas - 02/02/2006 13:47 (laatste wijziging 02/02/2006 13:48)
Avatar van Thomas Moderator Euh, als je dan toch een tweede argument in je mysql_query-functie wilt hebben, doe je er misschien verstandig aan om je connectie-variabele ($connect) te nemen, en niet je select_db-variabele...
Offline GTW - 02/02/2006 14:05 (laatste wijziging 02/02/2006 15:46)
Avatar van GTW Gouden medaille

PHP gevorderde
iedereen gigantisch bedanktvoor jullie hulp. Het werkt nu!  Ik heb de variabelen voor de mysql_connect en mysql_select_db weggehaald...
Offline Rens - 02/02/2006 16:43
Avatar van Rens Gouden medaille

Crew algemeen
  1. $connect = "mysql_connect('$hostnaam','$gebruikersnaam_SQL','$Password_SQL')";
  2. $select_db = "mysql_select_db('$databasenaam') OR die('kan niet bij de database')";


Waarom heb je je functies tussen " en " staan? 
Offline GTW - 02/02/2006 17:31
Avatar van GTW Gouden medaille

PHP gevorderde
Dat heb ik nu niet meer... Daar gaf de browser een error van en toen heb ik ze weg gehaald.
Offline Gerard - 02/02/2006 17:46
Avatar van Gerard Ouwe rakker gebruik ook even mysql_real_escape_string() of addslashes() om te voorkomen dat je query mislukt wanneer men " invoert oid
Offline GTW - 02/02/2006 20:29
Avatar van GTW Gouden medaille

PHP gevorderde
ik heb de addslashes toegepast op deze manier:
  1. $voornaam = addslashes($_POST['voornaam'];

en dat bij de vars van regel 4 tot en met 11.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.245s