PHP toevoegen fout
Dit keer een script om een muziekstuk toe te voegen.
Dit script moet in de MySQL tabel 'muziek' een nummer, de artiest, en evt. arr toevoegen.
Tabellen in query 'muziek':
id,nummer,artiest,arr.
script (post.php):
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<? if ($_POST['submit']) {
if ($_POST['nummer']!="" AND $_POST['artiest']!="") {
$insert = "INSERT INTO muziek (nummer,artiest,arr) VALUES ('','".$_POST[nummer]."','".$_POST[artiest]."','".$_POST[arr]."')";
mysql_query($insert) or die(mysql_error());
echo "<script>location.href='index.php'</script>"; }
else { echo "Error";}}
else { ?>
if ($_POST['nummer']!="" AND $_POST['artiest']!="") {
$insert = "INSERT INTO muziek (nummer,artiest,arr) VALUES ('','".$_POST[nummer]."','".$_POST[artiest]."','".$_POST[arr]."')";
mysql_query($insert) or die(mysql_error());
echo "<script>location.href='index.php'</script>"; }
else { echo "Error";}}
else { ?>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$sql = "SELECT * FROM muziek ORDER BY nummer ASC";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$nummer = htmlspecialchars($rij->nummer);
$artiest = htmlspecialchars($rij->artiest);
$arr = htmlspecialchars($rij->arr);
set_smilies($bericht);
} ?>
$sql = "SELECT * FROM muziek ORDER BY nummer ASC";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$nummer = htmlspecialchars($rij->nummer);
$artiest = htmlspecialchars($rij->artiest);
$arr = htmlspecialchars($rij->arr);
set_smilies($bericht);
} ?>
<div align="center">
<table class='gbook'>
<tr>
<td class='gbook2'><a name='voegtoe'></a>Muziekstuk toevoegen</td>
</tr>
<tr>
<td>
<form method="post" action="post.php" name="gastenboek">
<table>
<tr><td width="100"><small>Nummer:</small></td><td width="400"><input type="text" name="nummer" size="35"></td></tr>
<tr><td valign="top"><small>Artiest:</small></td><td width="400"><input type="text" name="artiest" size="35"></td></tr>
<tr><td valign="top"><small>Arr:</small></td><td width="400"><input type="text" name="arr" size="35"> <small><small>(leeglaten indien geen)</small></small></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Toevoegen"></td></tr>
</form>
</table>
</td>
</tr>
</table>
</div>
ik krijg bij het posten deze error:
Column count doesn't match value count at row 1
HELP :S...
Gewijzigd op 28/08/2004 19:01:00 door Jorik
Code (php)
1
2
3
2
3
<?
$insert = "INSERT INTO muziek (nummer,artiest,arr) VALUES ('','".$_POST[nummer]."','".$_POST[artiest]."','".$_POST[arr]."')";
?>
$insert = "INSERT INTO muziek (nummer,artiest,arr) VALUES ('','".$_POST[nummer]."','".$_POST[artiest]."','".$_POST[arr]."')";
?>
Maak daar eens van
Daarom is bij de regel die zou moeten werken die ik net gaf het stukje:
''',
weggehaald, zodat je ook maar 3 waardes opgeeft.
Verder is een query een opdracht voor je database en 'muziek' is een tabel :)
Gewijzigd op 28/08/2004 19:07:00 door dutchcamel
Bedankt, het werkt nl. nu wel :P..
I like this site :D
Je kun het stukje anders ook nog vervangen voor:
Code (php)
1
2
3
2
3
<?
$insert = "INSERT INTO muziek VALUES (NULL,'".$_POST[nummer]."','".$_POST[artiest]."','".$_POST[arr]."')";
?>
$insert = "INSERT INTO muziek VALUES (NULL,'".$_POST[nummer]."','".$_POST[artiest]."','".$_POST[arr]."')";
?>
Dan geef je aan door "(nummer,artiest,arr)" weg te laten dat je alle 'vakjes' in wil vullen (in dit geval dus alle 4). En geef je voor het eerste 'vakje' NULL op, waardoor die dus automatisch ingevuld wordt. Is een iets kortere oplossing :)
thanx...