Controle werkt niet goed
Hij kijkt 2 textboxen na, old_ - new_artistname, daarna zou hij moeten kijken of de old_artistname uberhaubt in de database bestaat (in dit gedeelte gaat hij de fout in). Zodra de naam bestaat mag hij de nieuwe naam updaten.
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
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if (isset($_POST['new_artistname'])) {
$old_artistname = trim($_POST['old_artistname']);
$new_artistname = trim($_POST['new_artistname']);
if( strlen ( $new_artistname ) < 2 ) {
echo '<div class="message error closeable">An artistname may not be less than 2 characters!</div>';
} else {
$get_artists_sql = "SELECT artistname FROM artist WHERE artistname = '".mysql_real_escape_string($old_artistname)."'";
$get_artists_result = mysql_query($get_artists_sql);
if(!$get_artists_result) {
echo '<div class="message error closeable"><b>'. $old_artistname .'</b> does not excist in the database</div>';
} else {
$update_artist_sql = " UPDATE artist
SET artistname = '".mysql_real_escape_string($new_artistname)."'
WHERE artistname = '".mysql_real_escape_string($old_artistname)."' ";
$update_artist_result = mysql_query($update_artist_sql);
if(!$update_artist_result) {
echo '<div class="message error closeable">Something has gone wrong, <b>'. $new_artistname .'</b> might already excist in the database.</div>';
} else {
echo '<div class="message success closeable"><b>' . $old_artistname . '</b> has been changed succesfully into <b>'. $new_artistname .'</b></div>';
}
}
}
}
?>
if (isset($_POST['new_artistname'])) {
$old_artistname = trim($_POST['old_artistname']);
$new_artistname = trim($_POST['new_artistname']);
if( strlen ( $new_artistname ) < 2 ) {
echo '<div class="message error closeable">An artistname may not be less than 2 characters!</div>';
} else {
$get_artists_sql = "SELECT artistname FROM artist WHERE artistname = '".mysql_real_escape_string($old_artistname)."'";
$get_artists_result = mysql_query($get_artists_sql);
if(!$get_artists_result) {
echo '<div class="message error closeable"><b>'. $old_artistname .'</b> does not excist in the database</div>';
} else {
$update_artist_sql = " UPDATE artist
SET artistname = '".mysql_real_escape_string($new_artistname)."'
WHERE artistname = '".mysql_real_escape_string($old_artistname)."' ";
$update_artist_result = mysql_query($update_artist_sql);
if(!$update_artist_result) {
echo '<div class="message error closeable">Something has gone wrong, <b>'. $new_artistname .'</b> might already excist in the database.</div>';
} else {
echo '<div class="message success closeable"><b>' . $old_artistname . '</b> has been changed succesfully into <b>'. $new_artistname .'</b></div>';
}
}
}
}
?>
Wat doe ik fout? Waarom controleert hij niet goed of de naam uberhaubt al bestaat in de database?
Gewijzigd op 01/01/1970 01:00:00 door Ernst Jacobs
heb je de query al eens ge-echo't?
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Jurrien schreef op 30.12.2009 00:05:
Even een vraagje.
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Ja zelf gescript, ik werk meestal in het engels :)
Wim schreef op 30.12.2009 00:04:
heb je de query al eens ge-echo't?
Nee eigenlijk niet, zal ik morgen eens doen ;) Misschien inderdaad wel een handige tip om zulke dingen na te kunnen kijken :)
Jurrien schreef op 30.12.2009 00:05:
Even een vraagje.
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Is makkelijker om in het engels te scripten, meeste voorbeelden zijn in het engels, meeste classen, en je mensen uit heel de wereld kunnen jou script lezen.
Pepijn schreef op 30.12.2009 00:15:
Is makkelijker om in het engels te scripten, meeste voorbeelden zijn in het engels, meeste classen, en je mensen uit heel de wereld kunnen jou script lezen.
Jurrien schreef op 30.12.2009 00:05:
Even een vraagje.
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Heb jij dit zelf gescript..
De teksten zijn namelijk engels.. of jij vind het fijn ?
Is makkelijker om in het engels te scripten, meeste voorbeelden zijn in het engels, meeste classen, en je mensen uit heel de wereld kunnen jou script lezen.
Daar heb je een punt.
Tog vind ik het fijner om bijv de errors in het nederlands te lezen:P
maarja dat is tog wel mijn mening
- Controleer of de $_POST de juiste waarden heeft;
- Check bij welke statement er volgens jou iets mis gaat;
- Soms is het handig om een LIKE te gebruiken in je query i.p.v. exact te controleren.
Jij controleerd of een query gelukt is, en als hij niet gelukt is zeg jij dat hij niet in de database voorkomt, als de query wel gelukt is update jij gelijkt de artist weer.. Maar als de artist niet bestaat?
mysql_num_rows()
Ik heb nunet even de 1e MySQL geëcho'd, waar het fout zou moeten gaan.
Als antwoord krijg ik 'Resource id#8', dit kan toch nooit kloppen?
Ik zie niet wat ik fout heb gedaan.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
else {
$get_artists_sql = "SELECT artistname FROM artist WHERE artistname = '".mysql_real_escape_string($old_artistname)."'";
$get_artists_result = mysql_query($get_artists_sql);
if(!$get_artists_result) {
?>
else {
$get_artists_sql = "SELECT artistname FROM artist WHERE artistname = '".mysql_real_escape_string($old_artistname)."'";
$get_artists_result = mysql_query($get_artists_sql);
if(!$get_artists_result) {
?>
@Arjan, in dit geval moet ik wel een exacte vergelijking hebben.
Serellyn schreef op 30.12.2009 11:54:
Als antwoord krijg ik 'Resource id#8', dit kan toch nooit kloppen?
Ik zie niet wat ik fout heb gedaan.
Ik zie niet wat ik fout heb gedaan.
Ik ook ziet.
Dat resource id geeft aan dat er een record is gevonden.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
else {
$get_artists_sql = "SELECT artistname FROM artist WHERE artistname = '".mysql_real_escape_string($old_artistname)."'";
$get_artists_result = mysql_query($get_artists_sql);
if(!$get_artists_result) {
{
// SQL ERROR
}
else
{
// FETCHEN van de gevonden records
}
?>
else {
$get_artists_sql = "SELECT artistname FROM artist WHERE artistname = '".mysql_real_escape_string($old_artistname)."'";
$get_artists_result = mysql_query($get_artists_sql);
if(!$get_artists_result) {
{
// SQL ERROR
}
else
{
// FETCHEN van de gevonden records
}
?>
Nou ik heb hem toch, het korte antwoord van Pepijn heeft mij toch het antwoord opgeleverd. :) Bedankt allemaal!