1 van 1

Communicatiefout mysql en php

Geplaatst: za 29 jan 2011, 12:10
door Diethert
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:

Code: Selecteer alles

<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.

Code: Selecteer alles

<?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

Re: Communicatiefout mysql en php

Geplaatst: za 29 jan 2011, 13:03
door Rogier
Waar je de foutmelding geeft, dus die("De toevoegquery op de database is mislukt!"), verander dat eens in:

Code: Selecteer alles

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?

Re: Communicatiefout mysql en php

Geplaatst: za 29 jan 2011, 13:47
door Diethert
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..

Re: Communicatiefout mysql en php

Geplaatst: za 29 jan 2011, 15:32
door Diethert
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