Problem mit sonderzeichen in DB eintragen

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

  • wahsaga
    antwortet
    Re: Sorry

    Original geschrieben von funnyzocker
    Also ich habe das nun mal probier aber nun trägt er garnix mehr ein in die DB
    wenn du mal mysql_error() verwenden würdest, könntest du jetzt auch schon wissen, warum ...

    PHP-Code:
    $res sprintf("INSERT INTO titel (dateiname, titel, artist)
     VALUES 
    ('
    $datei', '$info[titel]','$info[artist]')"mysql_real_escape_string($datei),
    mysql_real_escape_string($info[titel]),
    mysql_real_escape_string($info[artist])) or die(mysql_error()); 
    also, da stehen drei spaltennamen in der ersten klammer - und danach folgen wie viele values ...?
    da kann ja wohl was nicht stimmen, hm?


    an der stelle, wo du $datei, '$info[titel] und $info[artist] momentan stehen hast, kommen natürlich stattdessen die mit mysql_real_escape_string behandelten werte hin.
    Zuletzt geändert von wahsaga; 10.03.2005, 22:04.

    Einen Kommentar schreiben:


  • funnyzocker
    antwortet
    Sorry

    Sorry habe nun umbruch eingefügt damit nicht mehr gescrollt werden muss.

    Also ich habe das nun mal probier aber nun trägt er garnix mehr ein in die DB

    Hier mal die Query
    PHP-Code:
        $res sprintf("INSERT INTO titel (dateiname, titel, artist)
     VALUES 
    ('
    $datei', '$info[titel]','$info[artist]')"mysql_real_escape_string($datei),
    mysql_real_escape_string($info[titel]),
    mysql_real_escape_string($info[artist])) or die(mysql_error()); 
    Auch umgebrochen


    Anmerkung bin noch nicht lange bei PHP dabei!

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    1. Sollte es wohl möglich sein, einen Striung umzubrechen, damit man nicht scrollen muss. So sind die Regeln!

    2. mysql_real_escape_string

    Einen Kommentar schreiben:


  • funnyzocker
    hat ein Thema erstellt Problem mit sonderzeichen in DB eintragen.

    Problem mit sonderzeichen in DB eintragen

    Hallo.
    Ich bastele gerade an einem kleinen Musik Verwaltungsscript für mich.
    Das folgende Script soll die ID3 auslesen.
    Das klappt auch bestens. Leider sind in manchen Titeln PHP sonderzeichen also die ''' . Dort meldet MySql natürlich fehler beim eintragen.
    Kann mann das irgendwie lösen?
    Stehe da im momant arg auf dem Schlauch

    Hier die Funktion
    PHP-Code:
    <?php
    function mp3info($file)
    {
        
    $fp fopen($file"rb");
        if (!
    $fp) return 0;
        
        
    // Try to find ID3v1.x
        
    fseek($fpfilesize($file)-128);
        
    $id3v1 fread($fp128);
        if (
    substr($id3v103) == "TAG")
        { 
    // Yay!
            
    $mp3[title] = trim(substr($id3v1330));
            
    $mp3[artist] = trim(substr($id3v13330));
            
    $mp3[album] = trim(substr($id3v16330));
            
    $mp3[year] = trim(substr($id3v1934));
            if (
    substr($id3v11251) == "\0" && substr($id3v11261) != "\0")
            { 
    // we got a ID3v1.1 here
                
    $mp3[comment] = trim(substr($id3v19729));
                
    $mp3[track] = ord(substr($id3v11261));
            }
            else
            { 
    // old ID3v1
                
    $mp3[comment] = trim(substr($id3v19730));
            }
            
    $mp3[genre] = ord(substr($id3v11271));
        }
        else 
    $mp3 0;

        
    fclose($fp);

        return 
    $mp3;

    ?>
    Hier der aufruf der Funktion und die auswertung
    PHP-Code:
    <?
    include("musikfunction.inc.php"); // angenommen die mp3info() steht in dieser Datei
    include("musik.inc.php");
    $verzeichnis = "/home/ftpserver/musik/";

    $dir = opendir($verzeichnis);
    while($datei = readdir($dir)) {
        if (is_file($verzeichnis.$datei) && (substr($datei, -3, 3) == "mp3"))
        {
            $info = mp3info($verzeichnis.$datei);
            if ($info) echo "Datei: $datei<br>Artist: $info[artist]<br>Title:
     $info[title]<br>Album: $info[album]<br><br>";
        
        $res = mysql_query
        ("INSERT INTO titel (dateiname, titel, artist)
            VALUES 
        ('$datei', '$info[artist]','$info[title]')") or die(mysql_error());
        
        
        }
    }
    ?>
    Zuletzt geändert von funnyzocker; 10.03.2005, 21:27.
Lädt...
X