• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Eintragung in die Datenbank

Status
Für weitere Antworten geschlossen.

mr.twister

Neues Mitglied
Hi Leute,

ich will versuchen ein eigenes forum zu schreiben (was ziemlich schwer wird) und ich scheiter gerade mit den forum beiträgen in die datenbank, dabei hab ich datenbankanbindungen schon öfters geschrieben, und die haben auch funktioniert, aber diesmal muss ich irgendwas total falsch gemacht haben. wär schön wenn ihr mir helfen könntet.

index.html :
HTML:
<!doctype html public "-//W3C//DTD XHTML 1.0//EN">
<html>
    <head>
        <title>Datenbankanbindung</title>
    </head>
    <body>
        <form action="reg.php" method="POST">
            <input type="text" name="name">
            <input type="submit" value="send">
        </form>
    </body>
</html>

reg.php :
PHP:
<?php
    error_reporting(E_ALL);
    
    $connection =  @mysql_connect('localhost','willy','may');
    $content_name = $_POST['name'];
    
    if($connection) {
        if(mysql_select_db('test')) {
        
        $result = mysql_query('SELECT * FROM test1');
        
            if($result) {
                mysql_query('INSERT INTO test1 VALUES ($content_name)');
                echo '<a href="index.html">continue</a>';
            } else {
                echo "Can´t reg you into database.";
            }
        } else {
            echo "Can´t select database!";
        }
    } else {
        echo "Can´t connect with the server!";
    }
?>

war schon seit ewigkeiten nich mehr in nem forum. wär nett wenn ihr mir link zu vb Codes schicken könntet

Gruß mr.twister
 
Zuletzt bearbeitet:
Werbung:
Zusätzlich zu den Code-Tags wäre es schön, zu wissen, was das Script überhaupt tut, denn SQL-Fehler werden nicht über error_reporting() abgefangen.

ich dachte das kann man sehen. ok. also will einfach nur nen namen in die datenbank eintragen. mehr macht die seite nicht war nur nen test, der aba nich funzt. hoffe is jetzt besser wenn nich dann sagt mir was ich noch erklären soll.
 
PHP:
mysql_query('INSERT INTO test1 VALUES ($content_name)')

Der Query ist falsch. Du musst dem Script doch auch mitteilen, in welche Spalten die Werte eingetragen werden sollen.

Lies dir das hier noch einmal richtig durch.

MfG Icy
 
Werbung:
Hat nix damit zu tun.
PHP verschlägt es, nicht die Datenbank.

Weisst du wo der Fehler ist?

Du darfst bei den ' keine Variablen setzen.

Also so:
PHP:
mysql_insert('INSERT INTO tabelle VALUES('.$var.')');
LG ;)
 
Also ich stimme icy zu! diese abfrage ist falsch weil mysql nicht weiß in welche spalte der wert eingetragen werden soll
wenn dann so
PHP:
mysql_query('INSERT INTO tabelle(spalte) VALUES('.$var.')');
und die funktion von cromafia007 (mysql_insert) hab ich noch nie gesehn sorry
 
Werbung:
das is es auch nich. habs versucht zeigt aba genauso wenig reaktion.
kann es sein das ich was bei der erstellung der tabelle falch gemacht habe?

also ich habe 2 spalten in der tabelle "test1". einmal "id" und dann noch "name". "id" ist bei mir >int< und hat von mir den >primary key< und >auto_increment< bekommen. die spalte name ist vom wert >varchar< und hat die länge von >20<. achso und beide haben noch das attribut >not_null<. hab ich da irgendwas falsch gemacht?
 
Kommt irgendein Fehler ? Steht die Verbindung zu Datenbank wirklich (mach mal des @ vor mysql_connect weg )
achja und ändern mal
PHP:
mysql_select_db('test', $connect);
 
kanns vllt sein das das nich funzt weil ich das auf meinem eigenen server laufen lasse? ich habe xampp. mir war so als hätt ich letzte mal irgendwas in irgendeiner config-datei geändert.
 
Werbung:
ok hab alles noch mal umgeschrieben. sieht jetzt so aus:

PHP:
<?php
    error_reporting(E_ALL);
    
    $name = $_POST['name'];
    
    @mysql_connect('localhost','willy','may') OR die("Es konnte keine Verbindung zum Server hergestellt werden:".mysql_error());
    mysql_select_db('test') OR die("Konnte Datenbank nicht auswählen:".mysql_error());
    
    mysql_query('INSERT INTO vorname(name) VALUES ('.$name.')') OR die("Konnte keine Daten in Datenbank eintragen:".mysql_error());
    
    
?>
und die fehlermeldung war folgende:

Konnte keine Daten in Datenbank eintragen:Unknown column 'asd' in 'field list'

achso und ich hatte >asd< eingegeben nur damit ihr euch nich wundert wegen *column 'asd'*
 
PHP:
   <?php    
    mysql_query("INSERT INTO vorname(name) VALUES (' ".$name." ')") OR die("Konnte keine Daten in Datenbank eintragen:".mysql_error());
    ?>
versuchs mal so ................
 
Die Leerzeichen nach/vor den single-quotes dürfen nicht sein, sonst würden die nämlich auch in der Tabelle stehen.
PHP:
   <?php     
    mysql_query("INSERT INTO vorname(name) VALUES ('".$name."')") OR die("Konnte keine Daten in Datenbank eintragen:".mysql_error()); 
    ?>
Gruß thuemmy
 
Werbung:
schreib doch erst nur nen gästebuch.

funktioniert alles aba wie bekomme ich das alles so schön formatiert?
hat vllt jemand von euch nen gästebuch geschrieben und könnt es mir vllt schicken? damit ich mir von dem die formatierung abgucken kann?
oda kann mir jemand sagen wie ich die so schön formatiert bekomme wie in diesem forum?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben