Hey,

ik heb een form gemaakt ...

<form action="laptop1.php" method="post" name="frm" enctype="multipart/form-data">


Op de volgende pagina wil ik deze gegevens in een database pompen ....


Dit heb ik zo gedaan ...


<?
{
$host = "localhost";
$user = "username";
$pass = "";
$dbdb = "db_name";
}
{
$sql = "INSERT INTO laptop (id, naam, voornaam, email, merk, type, van, tot, besturingssysteem, scherm, processor, processormerk, ramgeheugen, videokaart, videokaartmerk, optischeschijven, kaartlezer, webcam, speelduur, gewicht, doel, extra) VALUES ";
$sql .= "('', '" . $_POST['naam'] . "', '" . $_POST['voornaam'] . "', '" . $_POST['email'] . "', '" . $_POST['merk'] . "', , '" . $_POST['type'] . "', '" . $_POST['van'] . "', '" . $_POST['tot'] . "', '" . $_POST['besturingssysteem'] . "', '" . $_POST['scherm'] . "', '" . $_POST['processor'] . "', '" . $_POST['processormerk'] . "', '" . $_POST['ramgeheugen'] . "', '" . $_POST['videokaart'] . "', '" . $_POST['optischeschijven'] . "', '" . $_POST['kaartlezer'] . "', '" . $_POST['webcam'] . "', '" . $_POST['speelduur'] . "', '" . $_POST['gewicht'] . "', '" . $_POST['doel'] . "', '" . $_POST['extra'] . "')";
$res = mysql_query($sql);
}
?>


Maar dit is volgens mij niet direct goed ...

Heeft iemand sugesties?


Alvast bedankt,
Steven
En de [php]mysql_select_db[/php]. Zo ziet een connect-script er uit:
<?php
ini_set ('show_errors', 1);
error_reporting (E_ALL);

$db_host = '*****';
$db_user = '*****';
$db_pass = '*****';
$db_name = '*****';

mysql_connect ($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
?>
Hierna kun je pas queries gaan doen. Zet het in een apart bestand(db_config.php) en begin de pagina's waar je een DB nodig hebt met:
<?php
require 'db_config.php';
?>
Ik krijg nu de fout:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'test', 'test', 'test', 'xp home', '12,1', 'test', 'Intel', 'testtesttesttestte' at line 1


Kan iemand mij helpen hierbij?

alvast bedankt,
Steven
Die meldink krijg je iig niet met jouw bovenstaande code. Want daarin doe je niet aan foutafhandeling. En maak je sql eens op:

SELECT
    ding1,
    ding2,
FROM 
    table
WHERE
    ding=ding

OF in jouw geval

INSERT INTO
    table(
    ding1,
    ding2
)
VALUES(
    ding1,
    ding2
)


Dat leest een stuk makkelijker
Klaasjan schreef op 06.10.2006 07:59
Die meldink krijg je iig niet met jouw bovenstaande code. Want daarin doe je niet aan foutafhandeling. En maak je sql eens op:


Niet helemaal juist Klaasjan, er zijn een aantal hosters die standaard de mysql_error wel weergeven.. (en als die een "thuis" server draait, dan kan die in de ini de error_reporting op all hebbben staan)
OK Robert dat zou kunnen. VOor de rest sta ik achter mijn post
ini_set ('show_errors', 1);
error_reporting (E_ALL);

Alles wordt dus weergegeven ...

Maar het wordt ook niet toegevoegd in de database of is dit normaal ...

Klaasjan straks probeer ik dat van u even ...


mgv,
Steven
Wat is het script dat je nu op dit moment hebt? Heb je de opmerkingen van Robert en Jan aangaande de mysql verbinding en database selectie, ook al meegenomen?
Klaasjan schreef op 06.10.2006 08:40
OK Robert dat zou kunnen. VOor de rest sta ik achter mijn post

Ik zei ook niet dat er niet aan foutafhandeling moet worden gedaan, ik ben het verder ook helemaal met je post eens..
Sterker nog, ik vind zelfs dat foutafhandeling (1 van) de belangrijkste punten is bij programmeren in het algemeen. Je kan zoveel problemen voorkomen door daar goed mee om te gaan.
Hey,

Ik heb dat gedaan volgens de tip van janklaas ...
de error is dan weg ...
Maar het word nog niet in de database gezet ...

Ik heb het gemaakt als volgt.
<?
"INSERT INTO
laptop(
id,
naam,
voornaam,
email,
merk,
type,
van,
tot,
besturingssysteem,
scherm,
processor,
processormerk,
ramgeheugen,
videokaart,
optischeschijven,
kaartlezer,
webcam,
speelduur,
gewicht,
doel,
extra
)
VALUES(
'',
'". $_POST['naam'] ."',
'". $_POST['voornaam'] ."',
'". $_POST['email'] ."',
'". $_POST['merk'] ."',
'". $_POST['type'] ."',
'". $_POST['van'] ."',
'". $_POST['tot'] ."',
'". $_POST['besturingssysteem'] ."',
'". $_POST['scherm'] ."',
'". $_POST['processor'] ."',
'". $_POST['processormerk'] ."',
'". $_POST['ramgeheugen'] ."',
'". $_POST['videokaart'] ."',
'". $_POST['optischeschijven'] ."',
'". $_POST['kaartlezer'] ."',
'". $_POST['webcam'] ."',
'". $_POST['speelduur'] ."',
'". $_POST['gewicht'] ."',
'". $_POST['doel'] ."',
'". $_POST['extra'] ."')"
?>

Dat klopt toch dacht ik?

Ziet iemand het probleem?

Alvast bedankt,
Steven

Reageren