Springen naar inhoud

Communicatiefout mysql en php


  • Log in om te kunnen reageren

#1

Diethert

    Diethert


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 29 januari 2011 - 12:10

Hallo allemaal,

Ik ben bezig een database aan het opzetten.
Deze zal een videobandencollectie omvatten.
Tot nu toe ben ik bezig geweest met enkele simpele invoer en uitvoer scriptjes.
De gebruikers kunnen bv een band toevoegen via een .htm formuliertje, vullen deze gegevens in en deze worden vervolgens via php met een mysql querry naar de database gezet. Dit is goed gegaan bij al 2 verschillende tabellen. Nu ben ik echter bij de 3e tabel, en het enige wat ik heb gedaan is variablen veranderen e.d. Zodoende zien de scriptejs er zo uit:

<html>
<head>
<title>Programma Toevoegen</title>
</head>
<body>
<form action="scriptProgrammaTOEV.php" method="post">
Vul een programma-nummer in:<br />
<input type="text" name="programma_nummer" /><br />
Vul een programma-titel in:<br />
<input type="text" name="ptitel" /><br />
Vul de lengte van het programma in minuten in:<br />
<input type="text" name="plengte" /><br />
Vul de taal van het programma in:<br />
<input type="text" name="ptaal" /><br />
Vul een categorie in:<br />
<input type="text" name="pcategorie" /><br />
Vul een genre in:<br />
<input type="text" name="pgenre" /><br />
Kies het aantal banden:<br />
<select name="pexemplaren">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<br />
Geef een korte beschrijving van het programma:<br />
<textarea name="beschrijving" onKeyDown="limitText(this.form.beschrijving,this.form.countdown,100);" 
onKeyUp="limitText(this.form.beschrijving,this.form.countdown,100);">
</textarea><br><br>

<input type="submit" value="Verzend" />
</form>
</body>
</html>
Dit is een simpel .htm formuliertje.
<?php
$programma_nummer = $_POST["programma_nummer"];
$ptitel = $_POST["ptitel"];
$plengte = $_POST["plengte"];
$ptaal = $_POST["ptaal"];
$pcategorie= $_POST["pcategorie"];
$pexemplaren = $_POST["pexemplaren"];
$beschrijving = $_POST["beschrijving"];
$mysql = mysql_connect("localhost","root","") or die("Fout: Er is geen verbinding met de MySQL-server tot stand gebracht!");
mysql_select_db("videobanden",$mysql) or die("Fout: Het openen van de database is mislukt!");
mysql_query("INSERT INTO programma VALUES ('$programma_nummer','$ptitel','$plengte','$ptaal','$pcategorie','$pexemplaren','$beschrijving')",$mysql) or die("De toevoegquery op de database is mislukt!"); 
mysql_close($mysql) or die("Het verbreken van de verbinding met de MySQL-server is mislukt!");
print 'De gegevens zijn in de databse ingevoerd!<br><br>';
Echo "<a href=http://localhost/Docent/DocentToevoeg.htm>Nieuwe gegevens invoeren</a><br>";
Echo "<a href=http://localhost/Docent/scriptTabDocent.php>Overzicht van de tabel docent</a>";
?>
Nu, de variablen krijgt hij keurig door vanuit de .htm. Ik heb namelijk ook al geprobeerd om een Echo neer te zetten
op regel 9. Dan geeft hij keurig de ingevulde gegevens. Hierna komt echter de foutmelding: "de toevoegquery op de database is mislukt" er is dus wel een verbinding met de database gemaakt e.d. Ik zie echter helemaal nergens een fout in de toevoegquery, sowieso heb ik een vorig script gepakt. Die gebruikt werkt om op precies dezelfde manier gegevens in de tabel docenten in te voeren. En in dit script heb ik enkel de variablen veranderd. (samen met de variablen in de htm natuurlijk).

Weten jullie misschien waar de fout zit?

Vriendelijke groeten,
Diether

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 29 januari 2011 - 13:03

Waar je de foutmelding geeft, dus die("De toevoegquery op de database is mislukt!"), verander dat eens in:
die("De toevoegquery op de database is mislukt! Error ".mysql_errno($mysql).": ".mysql_error($mysql);
En probeer het dan nog eens, wat komt er dan uit?
In theory, there's no difference between theory and practice. In practice, there is.

#3

Diethert

    Diethert


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 29 januari 2011 - 13:47

Hmn, heerlijk. Een syntax error:
Parse error: syntax error, unexpected ';' in K:\xampp\htdocs\Programma\scriptProgrammaTOEV.php on line 11

Echter, er staat maar één ; in regel 11 (de regel van de toevoegquery) en die staat gewoon netjes achteraan. Als je die weghaald werkt regel 12 niet meer..

#4

Diethert

    Diethert


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 29 januari 2011 - 15:32

Hm nou, ik heb heel langzaam het hele script opnieuw gemaakt, gezorgd dat alle variabelen klopten e.d en nu doet hij het dus wel. Kzal vast wel ergens alsnog een typefoutje hebben gemaakt o.i.d.

In ieder geval bedankt voor het antwoord Rogier.

Groeten,
Diether





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures