Records wegschrijven naar database lukt niet !
Ik heb al uren gezocht naar een fout maar ik zie die niet. De records worden niet weggeschreven. Kan er mij iemand helpen aub. Hieronder de code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$hostname_database = "localhost";
$username_database = "schierve";
$password_database = "urkiny";
$database = mysql_pconnect($hostname_database, $username_database, $password_database) or trigger_error(mysql_error(DB),E_USER_ERROR);
mysql_select_db(schierve_schiervelde);
?>
$hostname_database = "localhost";
$username_database = "schierve";
$password_database = "urkiny";
$database = mysql_pconnect($hostname_database, $username_database, $password_database) or trigger_error(mysql_error(DB),E_USER_ERROR);
mysql_select_db(schierve_schiervelde);
?>
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
$Naam=$_POST['Naam'];
$Straat=$_POST['straat'];
$Gemeente=$_POST['Gemeente'];
$Telefoon=$_POST['Telefoon'];
$Email=$_POST['email'];
$Keuze=$_POST['Keuze'];
$Meters=$_POST['meters'];
$Opmerking=$_POST['Opmerking'];
echo $Naam;
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, '$Naam', '$Straat', '$Gemeente', '$Telefoon', '$Email', '$Keuze', '$Meters', '$Opmerking', CURRENT_TIMESTAMP);"
?>
$Naam=$_POST['Naam'];
$Straat=$_POST['straat'];
$Gemeente=$_POST['Gemeente'];
$Telefoon=$_POST['Telefoon'];
$Email=$_POST['email'];
$Keuze=$_POST['Keuze'];
$Meters=$_POST['meters'];
$Opmerking=$_POST['Opmerking'];
echo $Naam;
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, '$Naam', '$Straat', '$Gemeente', '$Telefoon', '$Email', '$Keuze', '$Meters', '$Opmerking', CURRENT_TIMESTAMP);"
?>
Ik ben zelf beginner en zie al meteen een heleboel dingen die niet goed zijn. Probeer je basiskennis van PHP eerst bij te spijkeren, dan valt daarna alles op zijn plaats.
(en verwijder je database inloggegevens in je bericht!)
(en verwijder je database inloggegevens in je bericht!)
Gewijzigd op 08/01/2013 09:32:28 door N K
wat gebeurt er als je
doet?
doet?
Nou 1 probeer je database te selecteren zonder var en foutief gebruik van string.
2) Execute je geheel de query niet..
2a je escaped niets derhalve maak je je systeem kwetsbaar voor sql injections, lees je op het gebied van security goed in alvorens iets in "productie" te zetten is mijn tip dan ook in deze
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
fout:
mysql_select_db(schierve_schiervelde);
goed:
mysql_select_db("schierve_schiervelde");
?>
fout:
mysql_select_db(schierve_schiervelde);
goed:
mysql_select_db("schierve_schiervelde");
?>
2) Execute je geheel de query niet..
2a je escaped niets derhalve maak je je systeem kwetsbaar voor sql injections, lees je op het gebied van security goed in alvorens iets in "productie" te zetten is mijn tip dan ook in deze
Ik heb het aangepast met de naam van de database te zetten tussen aanhalingstekens, maar het mag nog niet baten
Voer de query uit!
$query = mysql_query($sql);
$query = mysql_query($sql);
De query uitgevoerd maar er is nog niets veranderd. Wordt nog altijd niet weggeschreven Tobias.
1. Voeg foutafhandeling toe
2. Haal je variabelen buiten de quotes
3. Het kopieeren van variabelen is onnodig
2. Haal je variabelen buiten de quotes
3. Het kopieeren van variabelen is onnodig
Gewijzigd op 08/01/2013 10:56:18 door John D
Ik vond dit zelf een erg nuttige link van een medeforum lid.
http://wouterj.github.com/sql-boilerplate/
http://wouterj.github.com/sql-boilerplate/
Ik heb de variabelen uit de quotes verwijderd maar er is nog niets veranderd John
Eric..wat heb je nu?
Laat nog eens wat code zien bedoelt No One
Dag No one, Ik krijg geen enkele foutmelding, maar wanneer ik naar de database ga kijken zie ik dat er niets is in geplaatst
daarom moet je me ook je code laten zien...voer je wel de query uit met mysql_query?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$hostname_database = "";
$username_database = "";
$password_database = "";
$database = mysql_pconnect($hostname_database, $username_database, $password_database) or trigger_error(mysql_error(DB),E_USER_ERROR);
mysql_select_db("schierve_schiervelde");
$query = mysql_query($sql);
?>
$hostname_database = "";
$username_database = "";
$password_database = "";
$database = mysql_pconnect($hostname_database, $username_database, $password_database) or trigger_error(mysql_error(DB),E_USER_ERROR);
mysql_select_db("schierve_schiervelde");
$query = mysql_query($sql);
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$Naam=$_POST['Naam'];
$Straat=$_POST['straat'];
$Gemeente=$_POST['Gemeente'];
$Telefoon=$_POST['Telefoon'];
$Email=$_POST['email'];
$Keuze=$_POST['Keuze'];
$Meters=$_POST['meters'];
$Opmerking=$_POST['Opmerking'];
echo $Naam;
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, $Naam, $Straat, $Gemeente, $Telefoon, $Email, $Keuze, $Meters, $Opmerking, CURRENT_TIMESTAMP) or die(mysql_error(fout))"
?>
$Naam=$_POST['Naam'];
$Straat=$_POST['straat'];
$Gemeente=$_POST['Gemeente'];
$Telefoon=$_POST['Telefoon'];
$Email=$_POST['email'];
$Keuze=$_POST['Keuze'];
$Meters=$_POST['meters'];
$Opmerking=$_POST['Opmerking'];
echo $Naam;
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, $Naam, $Straat, $Gemeente, $Telefoon, $Email, $Keuze, $Meters, $Opmerking, CURRENT_TIMESTAMP) or die(mysql_error(fout))"
?>
Je hebt niet veel gedaan met hetgeen hierboven werd aangegeven:
Begin nog eens bij het begin en lees een (goede) basistut door.
Waar komen overigens al die $_POST-waarden vandaan?
John D op 08/01/2013 10:54:56:
1. Voeg foutafhandeling toe
2. Haal je variabelen buiten de quotes
3. Het kopieeren van variabelen is onnodig
2. Haal je variabelen buiten de quotes
3. Het kopieeren van variabelen is onnodig
Sebastiaan Blaas op 08/01/2013 10:01:47:
2) Execute je geheel de query niet..
2a je escaped niets derhalve maak je je systeem kwetsbaar voor sql injections, lees je op het gebied van security goed in alvorens iets in "productie" te zetten is mijn tip dan ook in deze
2a je escaped niets derhalve maak je je systeem kwetsbaar voor sql injections, lees je op het gebied van security goed in alvorens iets in "productie" te zetten is mijn tip dan ook in deze
Begin nog eens bij het begin en lees een (goede) basistut door.
Waar komen overigens al die $_POST-waarden vandaan?
Gewijzigd op 08/01/2013 11:39:15 door Obelix Idefix
moet onder
Code (php)
1
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, $Naam, $Straat, $Gemeente, $Telefoon, $Email, $Keuze, $Meters, $Opmerking, CURRENT_TIMESTAMP) or die(mysql_error(fout))";
komen te staan:
Code (php)
1
2
2
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, $Naam, $Straat, $Gemeente, $Telefoon, $Email, $Keuze, $Meters, $Opmerking, CURRENT_TIMESTAMP) or die(mysql_error(fout))";
$query = mysql_query($sql);
$query = mysql_query($sql);
en wat john bedoelde met variabele buiten de quotes halen was dit:
Code (php)
1
$sql = "INSERT INTO `schierve_schiervelde`.`Rommelmarkt` (`Nr`, `Naam`, `Adres`, `Gemeente`, `Telefoon`, `Email`, `Huis`, `Meters`, `Opmerking`, `Datum`) VALUES (NULL, '".mysql_real_escape_string($Naam)."', '".mysql_real_escape_string($Straat)."', '".mysql_real_escape_string($Gemeente)."', '".mysql_real_escape_string($Telefoon)."', '".mysql_real_escape_string($Email)."', '".mysql_real_escape_string($Keuze)."', '".mysql_real_escape_string($Meters)."', '".mysql_real_escape_string($Opmerking)."', CURRENT_TIMESTAMP) or die(mysql_error(fout))";
escapen moet je ook niet vergeten...
Kijk ook eens naar de kleurtjes in je post. Je sluit de "INSERT .... " niet correct af.




