Problem bei Eigenem Login Bereich zu Typo3 Login bereich

Gunah

Erfahrenes Mitglied
moin,

da wir vorher eine selbst geschriebene Seite hatte und nun auf Typo3 umgestiegen sind ( :( )

sind wir dabei die User zu übertragen... nun gibt es aber folgendes Problem... das der es irgendwie nicht schaft die Daten aus der DB zulesen... es wird auch keine Fehlermeldung ausgespuckt... wenn ich
Code:
SELECT * FROM users
via PHPmyAdmin angeben klappt es nur beim auslesen in PHP in einem Query geht es irgendwie nicht hier das Script, mit der mysql_class:
PHP:
<?php

class db {
    var $user='';
    var $password='';
    var $dbname='';
    var $host='';
    /* Connecting MySQL + Database*/
    function db($user,$password,$dbname,$host='localhost') {
    $this->user = $user; 
    $this->password = $password; 
    $this->dbname= $dbname; 
    $this->host= $host;
    $this->connect();
    $this->db_select();
    }
    /* Connection to MySQL */
    function connect() {
      $this->link_id=@mysql_connect($this->host, $this->user, $this->password) or die('Connection to Database Lost');
    }
    /* Connection to MySQL-Database */
    function db_select(){
      $this->dbsel = @mysql_select_db($this->dbname,@$this->link_id) or die ('Can\'t use database '.$this->html($this->dname));
      return $this->dbsel;
    }
    /* Reads the SQL-Code */
    function query($search) {
    $this->thequery=$search;
    $this->query_id = @mysql_query($search,$this->link_id);
    if($this->query_id === false)
    {
       $this->error();
    }
    return $this->query_id;
    }
    /* Reads the Query-Array for Output */
    function fetch_array($query_id=-1) {
    if ($query_id!=-1) $this->query_id=$query_id;
    return mysql_fetch_array($this->query_id);
    }
    /* print the insert id */
    function insert_id() {
    return @mysql_insert_id($this->link_id);
    }
    /* Counts the Results */
    function num_rows($query) {
     $result = @mysql_num_rows($query);
    if($result === false)
    {
       $this->error();
    }
    return $result;
    }
    /* mades the strings insert to DB secure */
    function real_escape_string($string) {
      if(get_magic_quotes_gpc()) $result = stripslashes($string);
                              else $result = $string;
    return @$db->real_escape_string($result,$this->link_id);
    }
    /* Shows the MySQL Error */
    function error() {
        echo '<html><head><title>MYSQL-ERROR (#'.$this->html(mysql_errno($this->link_id)).')/title></head><body>';
        echo "<div>Database Error</div>\n";
        echo '<div>SQL: '.$this->html($this->thequery).'</div>';
        echo "<div>MYSQL-ERROR: ".$this->html(mysql_error($this->link_id))."</div>\n";
        echo "<div>MYSQL-ERROR-NUMBER: ".$this->html(mysql_errno($this->link_id))."</div>\n";
        echo "<div>DATE: ".date("Y-n-d, H:i")."</div>\n";
        echo "<div>SCRIPT: ".$this->html($_SERVER['REQUEST_URI'])."</div>\n";
        if(!empty($_SERVER['HTTP_REFERER']))
        {
        echo "<div>REFERER: ".$this->html($_SERVER['HTTP_REFERER'])."</div>\n";
        }
        echo '</body></html>';
        exit;
    }
    /* unbuffered query */
    function unbuffered_query($result) {
    return @mysql_unbuffered_query($result,$this->link_id);
    }
    /* internal HTML Converter */
    function html($name) {
    return @htmlentities($name, ENT_QUOTES,ISO-8859-15);
    }
}

$db = new db ('root','*******','alt','localhost');
error_reporting(E_ALL);
$r='0';
$result=$db->query("SELECT * FROM users");
while($row=$db->fetch_array($result)) {
echo $r++.'<br>';
$db->q uery("INSERT INTO `fe_users` VALUES (NULL, 12, 1187344252, '".$db->real_escape_string($row['custnr'])."', '".$db->real_escape_string($row['password'])."', 0x31, 0, 0, 0, '".$db->real_escape_string($row['name'])."', '".$db->real_escape_string($row['street'])." ".$db->real_escape_string($row['hno'])."', '".$db->real_escape_string($row['telefon'])."', '".$db->real_escape_string($row['telefax'])."', '".$db->real_escape_string($row['email'])."', 1187343750, 1, '', 0, '', '', '".$db->real_escape_string($row['zip'])."', '".$db->real_escape_string($row['country'])."', '', '".$db->real_escape_string($row['name'])."', '', '', '', 0, 0, 0);");
}
?>

an der klasse kann es nicht liegen die hab ich auf mehreren seiten am laufen

MfG Gunah
 
Zuletzt bearbeitet:
ich bin jetzt nur mal kurz überflogen.
du hast bei einer if - abfrage nen syntax fehler schon mal
PHP:
if($this->query_id === false)

du benutzt drei '=' Zeichen.

Ansonsten nochma kucken. Ich weiß das jetzt nicht sicher also steinigt mich wenns falsch is, aber bei der Datenbank auswählen reicht auch nur der Datenbankname!
 
ja ich weiss das nur der DB name reicht... war halt nur verdutzt und habs zur sicherheit hingeschrieben...

zum 3 === das hat der Hauptprogrammierer gemacht... bin momentan halt noch am lernen das passt so kA warum hab ihn bisher auch noch nicht drauf ansprechen können warum das klappt und warum ein Doppel gleich nicht geht...

zum Fehler, wenn ich den Query innerhalb der WHILE schleiße entferne springt der Counter auch richtig an, nur wenn der query dann innerhalb "angeschaltten" wird kommt beim echo immer nur 0 ich denke ich lass jetzt eine sql datei erstellen und importier die dann...

MfG Gunah
 
Zurück