laatste artikel database
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql ="
INSERT INTO artikel (titel, toegevoegd)
VALUES ('".$_POST["titel"]."', NOW())
";
?>
$sql ="
INSERT INTO artikel (titel, toegevoegd)
VALUES ('".$_POST["titel"]."', NOW())
";
?>
Vergeet natuurlijk niet om hierna de query $sql nog uit te voeren en te controleren of de query gelukt is...
Probeer het eens, zou ik zeggen.
Hoezo titel heb een veld aangemaakt in tabel artikel namelijk "toegevoegd" datetime
Gewijzigd op 01/01/1970 01:00:00 door Lars Koning
guido schreef op 21.11.2007 11:36:
Nee hoor SanThe met bovenstaand geen errors.
Hoezo titel heb een veld aangemaakt in tabel artikel namelijk "toegevoegd" datetime
Hoezo titel heb een veld aangemaakt in tabel artikel namelijk "toegevoegd" datetime
Achter 'toegevoegd' staat een losse komma, daar hoort een error bij.
Quote:
Een beetje zelf klooien mag natuurlijk ook. Jij wilt $_POST['titel'] gaan invoegen in een DATETIME veld, dat gaat natuurlijk nooit lukken!Hoezo titel heb een veld aangemaakt in tabel artikel namelijk "toegevoegd" datetime
Wil je die titel niet invoegen dan wordt je query eenvoudig:
Alleen wordt er nu een nieuw record ingevoegd met enkel een datum. Niet bijzonder handig lijkt me...
ps. @SanThe: hij krijgt geen foutmelding omdat hij 1) de query niet uitvoert en 2) er nog niets aan foutafhandeling in zn script staat...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Toevoegen artikel mislukt!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 ')' at line 1
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
ini_set ('display errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// Rest van het script
$db = mysql_connect("localhost", "", "")
or die("Kan niet verbinden: " . mysql_error());
mysql_select_db("", $db);
?>
ini_set ('display errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// Rest van het script
$db = mysql_connect("localhost", "", "")
or die("Kan niet verbinden: " . mysql_error());
mysql_select_db("", $db);
?>
<html>
<head>
<title>Artikel toevoegen</title>
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(isset($_POST['knop'], $_POST['naam'], $_POST['omschrijving'], $_POST
['prijs'])){
$sql = "INSERT INTO artikel (Naam, Omschrijving, Prijs) VALUES ('".$_POST
["naam"]."', '".$_POST["omschrijving"]."', ".$_POST["prijs"].")";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen artikel mislukt!" . mysql_error();
exit;
} else {
$artikelid = mysql_insert_id(); // primaire sleutel van zojuist toegevoegde rij
$sql = "INSERT INTO categorie_per_artikel (Artikel_id, Categorie_id) VALUES
('".$artikelid."','".$_POST["categorieid"]."')";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
exit;
}
}
echo "OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
} else {
?>
if(isset($_POST['knop'], $_POST['naam'], $_POST['omschrijving'], $_POST
['prijs'])){
$sql = "INSERT INTO artikel (Naam, Omschrijving, Prijs) VALUES ('".$_POST
["naam"]."', '".$_POST["omschrijving"]."', ".$_POST["prijs"].")";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen artikel mislukt!" . mysql_error();
exit;
} else {
$artikelid = mysql_insert_id(); // primaire sleutel van zojuist toegevoegde rij
$sql = "INSERT INTO categorie_per_artikel (Artikel_id, Categorie_id) VALUES
('".$artikelid."','".$_POST["categorieid"]."')";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
exit;
}
}
echo "OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
} else {
?>
<form method="post" action="">
Selecteer een categorie: <select name="categorieid">
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
$sql = "SELECT * FROM categorie";
$resultaat = mysql_query($sql) or trigger_error(mysql_error()); // voer SQL
code uit
while ($rij = mysql_fetch_array($resultaat)) {
echo "<option value=\"";
echo $rij["Categorie_id"]."\">";
echo $rij["Naam"]."</option>\n";
}
?>
$sql = "SELECT * FROM categorie";
$resultaat = mysql_query($sql) or trigger_error(mysql_error()); // voer SQL
code uit
while ($rij = mysql_fetch_array($resultaat)) {
echo "<option value=\"";
echo $rij["Categorie_id"]."\">";
echo $rij["Naam"]."</option>\n";
}
?>
</select><br>
Titel: <input type="text" name="naam"><br>
Omschrijving: <textarea name="omschrijving" cols="30" rows="4"></textarea><br>
Telefoon + landcode:<input type="text" name="prijs"><br>
<input type="submit" name="knop" value="toevoegen">
</form>
<a href=""
class="artikel_afbeelding">afbeelding uploaden</a>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Lars Koning
Je $_POST is blijkbaar leeg.
SanThe schreef op 21.11.2007 12:06:
Dat zal het niet zijn, er wordt immers met isset() gecontroleerd of de variabelen bestaan.Je $_POST is blijkbaar leeg.
Echo bij een foutmelding ook altijd je query, dan kun je zien waar het fout gaat. Ik gok dat de fout in $_POST['prijs'] zit, is dat wel een integer?
if(isset($_POST['knop'], $_POST['naam'], $_POST['omschrijving'], $_POST
['prijs'])){
Deze melding krijg ik
Notice: Undefined index: titel in /home//domains//public_html/artikel_toevoegen1.php on line 34
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$artikelid = mysql_insert_id(); // primaire sleutel van zojuist toegevoegde rij
$sql = "INSERT INTO categorie_per_artikel (Artikel_id, Categorie_id) VALUES
('".$artikelid."','".$_POST["categorieid"]."')";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
exit;
}
$sql ="
INSERT INTO artikel (titel, toegevoegd)
VALUES ('".$_POST["titel"]."', NOW())
";
}
echo "OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
} else {
?>
$artikelid = mysql_insert_id(); // primaire sleutel van zojuist toegevoegde rij
$sql = "INSERT INTO categorie_per_artikel (Artikel_id, Categorie_id) VALUES
('".$artikelid."','".$_POST["categorieid"]."')";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
exit;
}
$sql ="
INSERT INTO artikel (titel, toegevoegd)
VALUES ('".$_POST["titel"]."', NOW())
";
}
echo "OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
} else {
?>
Gewijzigd op 01/01/1970 01:00:00 door Lars Koning
Het antwoord is al 129x gegeven, wellicht iets om er iets mee te gaan doen... of om PHP te leren...
als je het niet voor jezelf doet, doe het voor ons
Quote:
Huh? Ik snap ff niet wat je bedoelt.Titel moet ik dat vervangen door veld in mijn tabel omschrijving?
Maar echo nu de query eens als blijkt dat hij niet gelukt is, dan zie je direct wat er fout gaat...
INSERT INTO artikel (titel, toegevoegd)
VALUES ('".$_POST["titel"]."', NOW())
";
Wat ik bedoel ik heb nergens een veld in een tabel die titel heet
mijn tabel artikel ziet er zo uit
Artikel_id
Naam
Omschrijving
Prijs
toegevoegd
Het is jouw systeem, niet het mijne. Ik kan dus ook onmogelijk ruiken hoe jouw database eruit ziet en hoe de queries er dus precies uit moeten zien! De voorbeelden die ik geef moet je natuurlijk wel naar je eigen situatie aanpassen...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
$sql ="
INSERT INTO artikel (naam, toegevoegd)
VALUES ('".$_POST["naam"]."', NOW())
";
if (!mysql_query($sql)) { // voer SQL code uit
echo "Toevoegen categorie mislukt!" . mysql_error();
exit;
}
}
echo "OK, uw advertentie ".$_POST["naam"]." is toegevoegd.";
} else {
?>
Bedankt jij ookWES je hebt me in het verleden ook vaak geholpen kritiek word je beter van.
Groet
Gewijzigd op 01/01/1970 01:00:00 door Lars Koning
De laatste query voer je niet uit.
Die $_POST zul je nog wel even moeten beveiligen, SQL-injection en mislukte queries liggen nu op de loer. mysql_real_escape_string() doet wonderen, zie de handleiding.