sql form maken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
$sql="INSERT INTO relaties (bedrijfsnaam, debiteur_id,)
VALUES
('$_POST[bedrijfsnaam]','$_POST[debiteur_id]')";
if (!mssql_query($sql,$con))
{
die('Error: ' . mssql_error());
}
echo "acite geslaagt";
mssql_close($con)
?>
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
$sql="INSERT INTO relaties (bedrijfsnaam, debiteur_id,)
VALUES
('$_POST[bedrijfsnaam]','$_POST[debiteur_id]')";
if (!mssql_query($sql,$con))
{
die('Error: ' . mssql_error());
}
echo "acite geslaagt";
mssql_close($con)
?>
ik krijg zodra ik dit heb utigevoerd direct http 500 error wat gaat hier fout
"die" is geen nette foutafhandeling gebruik die wel.
en acite = actie
Code (php)
1
2
3
4
2
3
4
<?php
$sql="INSERT INTO relaties (bedrijfsnaam, debiteur_id)
VALUES
('".$_POST['bedrijfsnaam']."','".$_POST['debiteur_id']."')"; ?>
$sql="INSERT INTO relaties (bedrijfsnaam, debiteur_id)
VALUES
('".$_POST['bedrijfsnaam']."','".$_POST['debiteur_id']."')"; ?>
Gewijzigd op 21/03/2012 14:12:47 door Reshad F
Toevoeging op 21/03/2012 14:10:10:
Laatste komma op regel 4 kan ook weg.
Puntkomma op regel 13 ontbreekt en het script is lek.
met andere woorden, gooi het in de prullenbak?
Je opent een nieuwe PDO connectie en declareerd die aan $db.
Moet je dan niet ALS je de link gebruikt de $db gebruiken ipv $con? Ik zie namelijk nergens een include of dat je $con declareerd.
Ook bij de mysql_close gebruik je de $con, ook hier lijkt het me dat je $db moet gebruiken.
Toevoeging op 21/03/2012 14:55:37:
Gerhard timmerman op 21/03/2012 14:36:49:
ik heb hem werkend maar ik weet dat hij lek is maar daar moet nog wat aan gebeuren
en chris je hebt gelijk dat had ik in de eerste instancie fout
ik heb hem nu op deze manier en nu is hij werkend ik weet dat hij nog lek is maar daar gebeurt nog wat aan
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
$sql="INSERT INTO relaties (bedrijfsnaam, debiteur_id)
VALUES
('".$_POST['bedrijfsnaam']."','".$_POST['debiteur_id']."')";
$results = $db->exec($sql);
?>
$db = new PDO('mssql:host=localhost\snelstart;dbname=laadlos','test','gerhardwinxp');
$sql="INSERT INTO relaties (bedrijfsnaam, debiteur_id)
VALUES
('".$_POST['bedrijfsnaam']."','".$_POST['debiteur_id']."')";
$results = $db->exec($sql);
?>
nu wil ik dat er een foutmelding komt als hij niet en anders een bevestiging een if en else zeg maar net als ik eerst met die probeerde alleen wou niet werken. Weet iemand wat ik daar goed voor kan gebruiken dat hij niet alleen een fout geeft als er geen verbinding is maar ook als het niet in de tabel word toegevoegd
Gewijzigd op 21/03/2012 15:02:03 door gerhard timmerman
http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/
hier kan je ook de foutafhandeling bekijken
hier kan je ook de foutafhandeling bekijken
http://www.php.net/manual/en/pdo.exec.php
Verder kan je natuurlijk nog via een try...catch block fouten opvangen.
Ook zou ik je willen aanraden eens naar prepared statements en parameter binding te kijken. Je gebruikt nu namelijk je POST variabelen zonder verdere beveiliging, met prepared statements is dat ook niet nodig.
Het aantal rijen ophalen gaat dan wel iets anders.
http://www.php.net/manual/en/pdostatement.bindparam.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//prepareer het sql statement
$st = $db->prepare("INSERT INTO relaties (bedrijfsnaam, debiteur_id)
VALUES (:bedrijfsnaam, :debiteur)");
//voeg de waardes voor de parameters toe
$st->bindParam(":bedrijfsnaam", $_POST['bedrijfsnaam'], PDO::PARAM_STR);
$st->bindParam(":debiteur", $_POST['debiteur_id'], PDO::PARAM_INT);
//execute de query
$st->excecute();
//haal het aantal rijen op dat gewijzigd is
$results = $st->rowCount();
?>
//prepareer het sql statement
$st = $db->prepare("INSERT INTO relaties (bedrijfsnaam, debiteur_id)
VALUES (:bedrijfsnaam, :debiteur)");
//voeg de waardes voor de parameters toe
$st->bindParam(":bedrijfsnaam", $_POST['bedrijfsnaam'], PDO::PARAM_STR);
$st->bindParam(":debiteur", $_POST['debiteur_id'], PDO::PARAM_INT);
//execute de query
$st->excecute();
//haal het aantal rijen op dat gewijzigd is
$results = $st->rowCount();
?>