sory dat ik wat lastig ben, maar ik moet het nog leren, en dus
probeer ik wat zelf te puzellen
maar, nu mijn vraag:

CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) default NULL,
`email` text,
`datum` date default NULL,
`ip` varchar(15) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

en dit zou erin moeten:

<?php
///////insert db
mysql_query("INSERT INTO test(name,email,date,ip) VALUES('$u','$m','NOW()','$a')");
?>

na de test, die nu eens geen fouten aangeeft
blijft mijn tabel leeg
wat doe ik nu weer mis?
met dank
zet eens auto increment aan en zet alle velden eens in text, en kijk of het dan gaat. Gaat het wel zal er wel iets schelen aan uw keuze velden ofzo waar een niet geldig type gegeven wordt.

voeg je iets toe volgens sql in php myadmin = zo

INSERT INTO `tbldirpic` VALUES (14, 'Basketkamp', '0000-00-00');

(met uw waardes dan, meer niet)
@Andy: de dingen die je nu zegt kloppen van geen kant. Gebruik het juiste type voor je velden en ga niet zomaar overal TEXT gebruiken, zélfs niet om te testen!

@elian: Waar is de foutafhandeling van je query gebleven? Als je query nu fout gaat wordt er niet eens een foutmelding van gegeven. En in je vorige topic heb ik het ook al gezegd, haal je variabelen buiten quotes...

edit: Voorbeeldscriptje.
<?php
$sql = "
INSERT INTO test (name,email,date,ip)
VALUES('".$u."', '".$m."', NOW(), '".$a."')
";

if(!$res = mysql_query($sql))
{
trigger_error(mysql_errno().': '.mysql_error().'<br/> In deze query: '.$sql);
)
else
{
// Je query is goed uitgevoerd.
echo 'De insert query is succesvol verlopen, het ID is: '.mysql_insert_id();
}
?>

edit2: over juiste type velden gesproken, een emailadres hoort gewoon in een veld van het type VARCHAR, het is immers geen stuk tekst.
@blanche, idd moet je dat dan wel weer juist zetten eh, maar het is een gemakkelijke test of je daar volledig de mist ingaat. Idd altijd de juiste keuze velden gebruiken.

Jij uw manier om te testen ik de mijne, mijn databases werken toch perfect. Je mag zoveel niet, het is gewoon kwestie van wat inventief te zijn.
Andy schreef op 21.11.2006 15:09
Je mag zoveel niet, het is gewoon kwestie van wat inventief te zijn.
En dat je 'zoveel niet mag' zal toch wel een reden hebben, denk je niet?

Maar inderdaad prima als jij op die manier werkt en je databases perfect werken. Maar als jij op een inventieve manier gaat werken die niet aan de (my)SQL standaard voldoet, kan ik je verzekeren dat je op een gegeven moment toch tegen problemen aan gaat lopen.
Je bedoelt, gewoon de weg van de minste weerstand, maar de grootste rotzooi kiezen?
Leer gewoon correct SQL, dan hoef je zulk soort dingen niet toe te passen..
@blanche, mijn database heeft de correcte keuze's voor de velden, maar als ik een fout heb en echt niet weet waaraan het ligt dan probeer ik zo'n dingen. Lost het het probleempje niet op dan zet ik dat netjes weer terug. Is het dat probleem wel, dan check ik ieder veldje apart waar ik verkeerd zou gewerkt hebben. Ik zit hier dus niet te promootten voor uw database verkeerd te maken. moet je dit denken.
Aha, ok nee dan heb ik je verkeerd begrepen.
Notice: 1142: INSERT command denied to user 'elian'@'localhost' for table 'test'
In deze query: INSERT INTO test (name,email,date,ip) VALUES('', '', NOW(), '53868adc') in /local/public_html/fotos/test/verwerking.php on line 99
die foutmelding krijg ik dus
en ja
ik had van het verkeerde script gepost hier
het is nu dus zo:

<?php

$sql = "
INSERT INTO test (name,email,date,ip)
VALUES('".$u."', '".$m."', NOW(), '".$a."')
";

if(!$res = mysql_query($sql))
{
trigger_error(mysql_errno().': '.mysql_error().'<br/> In deze query: '.$sql);
}
else
{
// Je query is goed uitgevoerd.
echo 'De insert query is succesvol verlopen, het ID is: '.mysql_insert_id();
}
?>
de foutafhandeling van de query zat ook in het oude testscript
zou de fout soms kunnen zijn, dat het emailadres in text staat?
alhoewel ik getset heb met tekst
zelfde result
elian schreef op 21.11.2006 15:57
Notice: 1142: INSERT command denied to user 'elian'@'localhost' for table 'test'
In deze query: INSERT INTO test (name,email,date,ip) VALUES('', '', NOW(), '53868adc') in /local/public_html/fotos/test/verwerking.php on line 99
die foutmelding krijg ik dus
en ja
ik had van het verkeerde script gepost hier
het is nu dus zo:

<?php

$sql = "
INSERT INTO test (name,email,date,ip)
VALUES('".$u."', '".$m."', NOW(), '".$a."')
";

if(!$res = mysql_query($sql))
{
trigger_error(mysql_errno().': '.mysql_error().'<br/> In deze query: '.$sql);
}
else
{
// Je query is goed uitgevoerd.
echo 'De insert query is succesvol verlopen, het ID is: '.mysql_insert_id();
}
?>
de foutafhandeling van de query zat ook in het oude testscript
zou de fout soms kunnen zijn, dat het emailadres in text staat?
alhoewel ik getset heb met tekst
zelfde result

owja, line 99 is de trigerfout
Het lijkt erop dat je niet genoeg rechten hebt om een insert query uit te voeren op deze tabel. Dit zou je even moeten controleren in phpmyadmin.

Reageren