genre_id und artist_id stehen im konflikt. warum?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • genre_id und artist_id stehen im konflikt. warum?

    ich habe hier das bearbeitungsformular
    PHP-Code:
    <?php
    include ("../../includes/db_connect.php");
    ?>
    <form name="form1" method="post" action="artist_uebersicht.php">
    <table width="95%" border="0" cellspacing="0" cellpadding="0">
      <tr> 
        <td width="11%">Genre:</td>
        <td width="89%">
          <?php
    $genre_SQL 
    "SELECT * FROM genre_$dbPraefix";
    $genre_result mysql_query($genre_SQL);
    echo 
    '<select name="genre_id">';

    while(
    $genre mysql_fetch_array($genre_result) )
    {
    echo 
    "<option value=\"$genre[genre_id]\">$genre[genre_name]</option>";
    }
    echo 
    '</select>';

         
    ?>
        </td>
      </tr>
      <tr>
    <?php
    $SQL_artist 
    "SELECT * FROM artist_$dbPraefix WHERE artist_id=$artist_id";
    $artist_result mysql_query($SQL_artist);
    while(
    $artist mysql_fetch_array($artist_result)){
    ?> 
        <td>Artist:</td>
        <td><input name="artist_name" type="text" id="artist_name2" value="<?php echo $artist['artist_name'?>"> </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input name="action" type="hidden" id="action" value="update">
          <input name="artist_id" type="hidden" id="artist_id" value="<?php echo $artist['artist_id'?>"> 
          <input name="submit" type="submit" id="submit2" value="Eintragen"></td>
      </tr>
    </table>
    </form>
    <?php
    }
    mysql_close();
    ?>
    hier ist die action. wenn das oben angezeigte formular ausgeführt wird, passiert das hier.
    PHP-Code:
    if($action=="update"){
      if(
    strlen($artist_name)<3){
      
    $error_msg "<font face='arial' size='2'>Bitte geben Sie einen <b>Artist</b> ein (mindestens 3 Zeichen)!</font>"
      }
      if(
    $error_msg){
      
    $message $error_msg;
      echo 
    $message;
      }else{
      
    $artist_SQL_update="UPDATE artist_$dbPraefix SET artist_name='$artist_name' genre_id='$genre_id' WHERE artist_id='$artist_id'";
      
    $bool=mysql_query($artist_SQL_update) or die (mysql_error() );
      if(
    $bool==1) echo "Artist wurde bearbeitet";
      if(
    $bool<>1) echo "Beim Bearbeiten des Artists ist ein Fehler aufgetreten";  
    }

    nur hier scheint es ein konflikt zu geben:
    PHP-Code:
    $artist_SQL_update="UPDATE artist_$dbPraefix SET artist_name='$artist_name' genre_id='$genre_id' WHERE artist_id='$artist_id'"
    wenn ich genre_id='$genre_id' rausnehmen würde, klappt alles. aber man soll auch die kategorie bzw. das genre nochmal ändern können. also muss der artist eine neue genre_id bekommen.
    wo steckt da der wurm drin?

  • #2
    Müsste es nicht so heißen?
    PHP-Code:
    $artist_SQL_update="UPDATE artist_".$dbPraefix." SET artist_name='$artist_name2' genre_id='$genre_id' WHERE artist_id='$artist_id'"
    Und vielleicht solltest Du den Namen des <select> von genre_id auf was anderes ändern.

    Sind nur Vermutungen.

    Kommentar


    • #3
      nein, so muss es nicht heißen.
      wie das mit artist_name2 in hier hingekommen ist, weiß ich auch nicht. in meinem code isses nicht mit der 2.
      aber das ist auch irrelevant, denn wenn ich das genre_id='$genre_id' aus dem SET rausnehme, kann ich ohne probleme den namen ändern.


      der fehler der übrigens erscheint ist dieser hier:
      You have an error in your SQL syntax near 'genre_id='2' WHERE artist_id='9'' at line 1

      Kommentar


      • #4
        also der syntax in der mysql-doku nach solltest du das so aufbauen:

        UPDATE tabelle
        SET spalte1=wert1,
        spalte2=wert2
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          thx
          war mal wieder ein blöder anfängerfehler

          ich bedanke mich mal wieder bei dir thx

          Kommentar

          Lädt...
          X