Thread: php: mysql_query() error
-
26-10-2004, 23:44 #16Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
$query= "DELETE FROM WERKNEMERS WHERE id="$_POST["id"];
$query = "DELETE FROM WERKNEMERS WHERE id='".$_POST['id']."'";no votes
-
-
27-10-2004, 19:48 #17
volgens servi moet/mag je de '' rond integer getallen bij je sql queries weglaten om volledig correct te zijn daarenboven mag je variabelen gebruiken indien je double quotes gebruikt... dus correcter is
PHP Code://korte versie
$id = !empty($_POST['id'])?$_POST['id']:'';
$query = "DELETE FROM werknemers WHERE id=$id";
//lange versie
if (!empty($_POST['id']))
{
$id = $_POST['id'];
$query = "DELETE FROM werknemers WHERE id = $id";
}
else {
//eventuele foutmelding
}
no votes
-
27-10-2004, 20:44 #18Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
27-10-2004, 23:52 #19
yupz, nu werkt ie
bedankt!no votes
-
30-10-2004, 21:38 #20
tjeuzes ik ben bezig een forum aan het maken (of toch aan het proberen
)
nu ben ik nog met simpele dingetjes bezig zoals een kader met een naam en bericht door te sturen naar een andere pagina zodat ik dat hopelijk later kan uitbreiden. naar een iets of wat respectabele forum.
maar deze foutmelding begint met op de heupen te werken
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/pagedesign.be/httpdocs/xpages/forum2.php on line 21
en de code is:
ik vind hem echt niet, volgens mij is er iets met mijn server want soms is ie er en soms weer niet.PHP Code:<?php
$db = mysql_connect("localhost", "user", "pass");
mysql_select_db("leden", $db);
if (empty($_POST)){
echo ("Ga terug <a href\"forum.php\">terug</a>");
} else {
$query .= "INSERT INTO forum (naam, bericht)";
$query .= "VAlUES('";
$query .= $_POST["naam"]."','";
$query .= $_POST["bericht"]."');";
$result = mysql_query($query, $db) or die (mysql_error());
}
while ($rij = mysql_fetch_array($result)){
echo ("<table width=\"300\" border=\"5\">");
echo ("<tr><td>".$rij['naam']."</td></tr>");
echo ("<tr><td>".$rij['bericht']."</td></tr>");
echo ("</table>");
echo ("<br><br><br>");
}
?>
Als dat het prob is ga ik direct bij een andere
Last edited by killer bel; 31-10-2004 at 12:42.
no votes
-
30-10-2004, 23:27 #21Member
- Registered
- 18/11/02
- Location
- Eke, België
- Posts
- 2,448
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Als ge zo'n error krijgt moet ge direct eens uw mysql_error() bekijken en tevens uw SQL bekijken, nu is het echter overduidelijk:
"VALUES('"
Er moet een spatie tussen die VALUES en uw haakje, zo dus:
"VALUES ('"no votes
-
30-10-2004, 23:49 #22
neen, hij doet het nog altijd niet
nog altijd dezelfde foutno votes
-
30-10-2004, 23:59 #23Member
- Registered
- 18/11/02
- Location
- Eke, België
- Posts
- 2,448
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Geef dan toch eens de mysql_error() output en beeld je ingevulde SQL query af!
Of praat ik hier tegen de muren?no votes
-
31-10-2004, 03:42 #24Approved 9-lifer
- Registered
- 17/07/02
- Location
- Burcht
- Posts
- 4,063
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
ik heb zelf ondervonde da 'DELETE FROM ... WHERE ID = $id' ni werkt, maar
'DELETE FROM `...` WHERE ID = $id' wel...[ Deskie ] || [ AniDB Mylist ]
You installed K-Lite codec pack? - CCCP
23 october 2007 : The day music diedno votes
-
31-10-2004, 11:11 #25Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
31-10-2004, 11:41 #26
ja idd, het werkt niet of maakt het zelf erger.
dan krijg ik dit:
You have an error in your SQL syntax near ''forum' (naam, bericht)VALUES ('killer bel','Test test test ')' at line 1
en darkbone, neen je praat niet tegen de muren.
Waar moet ik die mysql_error() dan plaatsen? Ik heb om overal al gezet en altijd krijg ik een foutmelding dat hij fout staat.no votes
-
31-10-2004, 12:15 #27Member
- Registered
- 18/11/02
- Location
- Eke, België
- Posts
- 2,448
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Da's omdat ge de verkeerde quotes gebruikt killer bel, degene die GuntherDW gebruikt zijn deze ` ` en da's niet hetzelfde als die die jij gebruikt ' '. Maar daar zou het niet mogen aan liggen hoor.
*Edit*
Ik zie net de tweede fout, net als aan de rechterkant van het woord VALUES moet er ook aan de linkerkant een spatie tussen het haakje en het keyword.
INSERT_INTO_tabelnaam_(value1, value2, value3)_VALUES_('alfanumeriek', numeriek, 'alfanumeriek')
De UNDERSCORES zijn VERPLICHTE spaties, anders kan mysql geen veschil maken tussen keywords en bijvoorbeeld een tabelnaam.Last edited by DarkBone; 31-10-2004 at 12:21.
no votes
-
31-10-2004, 12:20 #28
jah, dat dacht ik al wel hoor. het zou ook raar zijn dat .
maar euh, ik snap niet goed waar je die mysql_error() moet plaatsen in een lus... gaat dat wel? Het zou wel leuk zijn want dan weet je direct waar het aan ligt...no votes
-
31-10-2004, 12:22 #29Member
- Registered
- 18/11/02
- Location
- Eke, België
- Posts
- 2,448
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Je mysql_error() staat normaal goed, maar dan vind ik het raar dat je toch nog een foutmelding krijgt op die mysql_fetch_row ... want daar geef je ons telkens de foutmelding van.
no votes
-
31-10-2004, 12:25 #30Member
- Registered
- 18/11/02
- Location
- Eke, België
- Posts
- 2,448
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Merk op dat je door het gebruik van single quotes je double quotes niet meer hoeft te escapen!PHP Code:<?php
// Connectie maken met de database
// Deze gegevens (host, username, password) zet je beter in een configuratiebestand
// De connectie met de database maak je dan bijvoorbeeld in je header of een ander bestand
// beide moet je dan includen op iedere pagina waar je het nodig hebt
mysql_connect('localhost', 'Jorge', 'hotmail');
mysql_select_db('leden');
if (empty($_POST))
{
echo 'Ga terug <a href="forum.php">terug</a>';
}
else
{
$query .= "INSERT INTO forum (naam, bericht) ";
$query .= "VALUES ('";
$query .= $_POST['naam'] . "','";
$query .= $_POST['bericht'] . "');";
$result = mysql_query($query) or die (mysql_error());
// Tabel tags buiten de lus zetten en gewoon telkens rijen toevoegen in plaats
// van telkens een nieuwe tabel af te beelden
echo '<table width="300" border="5">';
while ($rij = mysql_fetch_array($result)){
echo '<tr><td>' . $rij['naam'] . '</td></tr>';
echo '<tr><td>' . $rij['bericht'] . '</td></tr>';
}
echo '</table>';
}
?>
Trouwens, ligt de error niet aan het feit dat er een fout zat in jou logica? Je controleert of er iets gepost is, als dat het geval is dan haal je gegevens op... MAAR als dat niet het geval is, dan gebeurt dat niet maar ga je toch een lijst met gebruikers afbeelden?
Conclusie: die fout doet zich telkens voor als er niets gepost is, want je $result is leeg! Daarom heb ik dan ook de afbeelding binnen de haakjes van de else-tak gezet.Last edited by DarkBone; 31-10-2004 at 12:31.
no votes
) de ' weglaten rond numerieke waarden in mysql.
