Thread: php: mysql_query() error
-
24-10-2004, 13:53 #1
php: mysql_query() error
Ik heb een probleempje, ik wil graag als wijze van voorbeeld een werknemer of eender wat toevoegen in mijn database maar ik krijg een error op lijn 19 (
) ik krijg dus de foutmelding "FOUT" zoals ik zelf geschreven heb.PHP Code:$result = mysql_query($query, $db) or die("FOUT");
de html code voor het formulieer dat waarschijnlijk geen problemen levert is
form name="form1" method="post" action="werknemertoevoegen.php">
het probleem ligt hem hoogstwaarschijnlijk hier en ik ben er bijna zeker van dat het op deze lijn ligt zoals ik vanboven nog eens heb vermeldCode:<p>id: <input type="text" name="id"> </p> <p>Voornaam <input type="text" name="Jorge"> </p> <p>Toestel <input type="text" name="toestel"> </p> <p> <input type="submit" name="Submit" value="Submit"> </p> </form>
hieronder de volledige codePHP Code:$result = mysql_query($query, $db) or die("FOUT");
in het onderste gedeelte zou de de volledige lijst moeten komen van werknemers die er dus niet komt. OF alleen de lijst van werkenmers die ik handmatig in mijn db heb gestopt.PHP Code:<?php
$db = mysql_connect("host", "user", "pas");
mysql_select_db("werknemers", $db);
$result = mysql_query("SELECT * FROM werknemers", $db);
if (empty($_POST)){
echo("Vul eerst de <a href=\"werknemer.php\">gegevens</a> in");
exit();
} else {
$query .= "INSERT INTO werknemers (id, naam, toestel)";
$query .= "VALUES ('";
$query .= $_POST['id']."','";
$query .= $_POST['voornaam']."','";
$query .= $_POST['toestel']."');";
$result = mysql_query($query, $db) or die("FOUT");
}
?>
</head>
<body>
<?php
$db = mysql_connect("host", "user", "pas") or die("fout geen connectie met db");
mysql_select_db("leden", $db);
$result = mysql_query("SELECT * FROM werknemers", $db);
while ($rij = mysql_fetch_array($result)){
echo($rij["id"]."|".$rij["voornaam"]."|".$rij["kamer"]."<br>");
}
?>
Alvast bedanktLast edited by killer bel; 24-10-2004 at 18:26.
no votes
-
-
24-10-2004, 14:00 #2Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
vervang "fout" eens door mysql_error():
$result = mysql_query($query, $db) or die(mysql_error());
en je kan ook best checken of die _POST vars wel bestaan
no votes
-
24-10-2004, 14:04 #3
bedankt, killgore. Dan krijg ik dit wat me al al veel wijzer maakt!
No Database Selected
maar ik heb mijn database toch geselecteerd? dat zie je hier
wat moet ik dan doen?PHP Code:mysql_select_db("leden", $db);
no votes
-
24-10-2004, 14:16 #4Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
nog es een or die(mysql_error()) achter die select_db zetten
no votes
-
24-10-2004, 14:20 #5
ik ben de fout gevonden ik had blijkbaar de verkeerde database naam ingevoerd. Maar nu blijkt er precies nog een foutje in te zitten namelijk
Unknown column 'naam' in 'field list'
wat heeft dat te betekenen?
thanks, killerno votes
-
24-10-2004, 14:23 #6Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
dat het veld naam niet bestaat.
zeker dat et niet name of zo is?no votes
-
24-10-2004, 14:36 #7
gadver je hebt gelijk het is voornaam
no votes
-
24-10-2004, 14:44 #8
bedankt,
nu werkt hij half...
als ik de lijst oproep met de id, voornaam en toestelnummer krijg ik alleen de id en de toestelnummer te zien
waarschijnlijk ligt het prob ergens hierin
PHP Code:$result = mysql_query("SELECT * FROM werknemers", $db);
while ($rij = mysql_fetch_array($result)){
echo($rij["id"]."|".$rij["voornaam"]."|".$rij["toestel"]."<br>");
Last edited by killer bel; 24-10-2004 at 18:25.
no votes
-
24-10-2004, 15:55 #9Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Ik krijg ze alledrie te zien zenne, niet te vergeten dat ID een auto_incremented unique waarde is die ge automatisch in moet laten vullen en ni dmv het form :|
no votes
-
24-10-2004, 18:25 #10
ja, ik heb net verbeterd zodat het wel werkt, joepie!!
ik weet hoe je in sqlite een de id automatisch moet laten invullen maar niet met mysql
waarschijnlijk met auto_incremented zoals je zei. Ik snel eventjes een nieuwe tabel maken.no votes
-
25-10-2004, 22:09 #11
yuw, ik zit met een verry wierd prob, soms het er niet en soms is het er niet
dit is de code:
PHP Code:<table border="1" width="80%" align="center">
<tr>
<th>ID</th>
<th>Naam</th>
<th>Toestel</th>
</tr>
<?php
include("inc_connect_mysql.php");
while ($rij = mysql_fetch_array($result)){
echo("<tr><td>".$rij["id"]."</td>".
"<td>".$rij["voornaam"]."</td>".
"<td>".$rij["toestel"]."</td>".
"<td><a href=\"verwijder_werknemer.php?id=".$rij["id"]."\">verwijder</a>".
"</td></tr>");
}
?>
</table>
En dit is de foutmelding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/pagedesign.be/httpdocs/xpages/werknemer.php on line 18Last edited by killer bel; 25-10-2004 at 22:12.
no votes
-
25-10-2004, 22:42 #12Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
wel uhm.. waar is $result

+ het automatisch laten invullen van een _id in mysql doet ge gewoon door het leeg te laten. Bij het opstellen van uw tabel zet ge unique & auto_increment aan en dan bij het opslaan van een gegeven bv.
INSERT INTO blabla (id,test,test2) VALUES ('', 'test', 'test2');
maar ik doe gewoon
INSERT INTO blabla (test, test2) VALUES ('test', 'test2');
(dit zal btw wel ni werken aangezien ik altijd wel een fout heb met een of ander aanhalingsteken)
maar zoals ge ziet, gewoon leeglaten en die voegt da automatisch inno votes
-
26-10-2004, 22:44 #13
ja, bedankt zero gravety
maar nu heb ik een ander prob
en ik moet toegeven dit script komt niet helemaal van mij.
ik zou graag een tabel hebben waar er een link is waar je een id kan verwijderen. de link zou www.blablabla.be/blablabla.php?id=3 of iets in die aard ik denk wel dat je me snapt. Maar hoe kan ik nu zo'n pagina automatisch aanmaken, hij maakt de link wel. vanonder staat hij. Maar die pagina zelf wil er maar niet komen. Weten jullie hoe het moet.
ik weet dat de pagina door $_GET in een querystring naar de browser word verzonder maar hoe je dat echt doe weet ik niet, aangezien ik het script grotendeels uit een boek heb.
als je het niet snapt moet maar eens naar deze link gaan en op verwijder drukken, normaal moet er dan een pagina komen met de gegevens die wil verwijderen en een exept butten, maar dit wil dus niet komen.
de code:
EDIT:// en $result zit in de pagina inc_connect_mysql.phpPHP Code:<?php
include ("inc_connect_mysql");
if (isset($_POST["bevestiging"]))
$query= "DELETE FROM WERKNEMERS WHERE id="$_POST["id"];
$result = mysql_query($query, $db) or die("Fout: ".mysql_error());
echo("De volgende opdracht is uitgevoerd: $query <br>");
if($result){
echo("Record nummer".$_POST["id"]."is verwijderd <br>");
echo("|<a href \"werknemer.php\">Terug naar het overzicht</a>");
}
} else {
$query = "SELECT * FROM werknemers WHERE id=".$_GET["id"];
$result = mysql_query($query, $db) or die(mysql_error());
?>
</head>
<body>
<?php
while ($rij = mysql_fetch_array($result)){
echo("Id = ".$rij["id"]."<br>");
echo("Naam= ".$rij["voornaam"]."<br>");
echo("Toestel :".$rij["toestel"]."<br><hr>");
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']);?>" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="<?php echo($_GET["id"]);?>">
<input type="Submit" value="Ja, verwijderen">
<input type="Button" value="Nee, terug">
onclick = "javascript:history.back();">
</form>
<?php
}
?>
Last edited by killer bel; 26-10-2004 at 22:46.
no votes
-
26-10-2004, 22:48 #14Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
offtopic: mijn nick is ni afgeleid van gravity
een beetje #we-care maar kom. ^^
no votes
-
26-10-2004, 23:09 #15
oeps
sorry, maar euh weet je de oplossing?
no votes
