UPDATE table
$tvseriesName = trim($_POST['tvseriesName']);
$firstGenre = trim($_POST['firstGenre']);
$secondGenre = trim($_POST['secondGenre']);
$tvseriesDescription = trim($_POST['tvseriesDescription']);
$queryFirstGenre = "SELECT * FROM genres WHERE genreName = '$firstGenre'";
$resultFirstGenre = mysql_query($queryFirstGenre) or die(mysql_error());
$rowFirstGenre = mysql_fetch_assoc($resultFirstGenre);
$tvseriesFirstGenre = $rowFirstGenre['genreId'];
if($secondGenre != 'None')
{
$querySecondGenre = "SELECT * FROM genres WHERE genreName = '$secondGenre'";
$resultSecondGenre = mysql_query($querySecondGenre) or die(mysql_error());
$rowSecondGenre = mysql_fetch_assoc($resultSecondGenre);
$tvseriesSecondGenre = $rowSecondGenre['genreId'];
}
else
{
$tvseriesSecondGenre = 0;
}
$queryEdit = "UPDATE tvseries SET tvseriesName = '$tvseriesName' AND tvseriesFirstGenre = '$tvseriesFirstGenre' AND tvseriesSecondGenre = '$tvseriesSecondGenre' AND tvseriesDescription = '$tvseriesDescription' WHERE tvseriesID = '$tvseriesId'";
$resultEdit = mysql_query($queryEdit) or die(mysql_error());
De genres en beschrijving doet ie goed, maar in plaats van de titel wordt er 0 ingevoerd. Enig idee waarom?
Ik krijg dan precies hetzelfde resultaat. De genres worden toegevoegd m.b.v. drop-down boxen, deze voegt en wijzigt ie zonder problemen (ook zoals ik het eerst had), de beschrijving is een textarea... ook geen problemen. Op de een of andere manier is het alleen bij tvseriesName.
Ter aanvoeging: als alle velden juist zijn ingevoerd moet de database worden gewijzigd. Ik zorg er ook voor dat er een overzicht op het scherm wordt getoond met de boodschap dat het succesvol is gewijzigd. Daar print ie de titel wel gewoon.
Ter aanvoeging: als alle velden juist zijn ingevoerd moet de database worden gewijzigd. Ik zorg er ook voor dat er een overzicht op het scherm wordt getoond met de boodschap dat het succesvol is gewijzigd. Daar print ie de titel wel gewoon.
Verder is het handig om je queries iets overzichtelijker te noteren door wat extra regels te gebruiken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$queryEdit = "
UPDATE
tvseries
SET
tvseriesName = '".$tvseriesName."',
tvseriesFirstGenre = '".$tvseriesFirstGenre."',
tvseriesSecondGenre = ".'$tvseriesSecondGenre."',
tvseriesDescription = '".$tvseriesDescription."'
WHERE
tvseriesID = '".$tvseriesId."'
";
UPDATE
tvseries
SET
tvseriesName = '".$tvseriesName."',
tvseriesFirstGenre = '".$tvseriesFirstGenre."',
tvseriesSecondGenre = ".'$tvseriesSecondGenre."',
tvseriesDescription = '".$tvseriesDescription."'
WHERE
tvseriesID = '".$tvseriesId."'
";
En om te weten wat er nu mis gaat, moet je de query even op het scherm zetten: echo $queryEdit;
Daarbij, zijn de $_POST dingen input velden met type text?
de titel misschien?
en waarom gebruik je AND en geen komma's?
Ik zou die escapen want ze kunnen dan daar van alles invullen. SQL injection misschien niet direct maar kunnen ze html tags invoeren zoals <script>
ALTIJD user input controleren
@frank jou query zal ook niet werken omdat je hier
tvseriesSecondGenre = ".'$tvseriesSecondGenre."',
quotjes heb omgedraait ;-)
Gewijzigd op 01/01/1970 01:00:00 door jochem
Okay, opgelost. Het was inderdaad het AND geval. Ik heb er nu komma's staan en nu pakt ie alles wel goed. Bedankt voor de hulp!