php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.06.2005, 20:07  
Erfahrener Benutzer
 
Registriert seit: 14.02.2005
Beiträge: 790
GrU3nL!nG
Standard Probleme mit hinzufügen von Datensätzen

So habe in der DB die tabelle users.
die besteht aus:

USER_ID | USER_Firstname | USER_Lastname

so nun möchte ich dort einen test namen einfügen, und zwar per eingabefeld:
PHP-Code:
<html>
<head>
<title>TEST</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
<body>
<h1>Member hinzufügen</h1>
<form action="add_functions.php">
Vorname:<input name="vorname" type="text" size="30" maxlength="30" method='get'>

Nachname:<input name="nachname" type="text" size="30" maxlength="40" method='get'>


<input type='submit' value='hinzufügen'>
</form>
<?php
include ("config.php");

    
$vorname  $_GET['vorname'];
    
$nachname $_GET['nachname'];

// Verbindungsaufbau zur Datenbank
mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
mysql_select_db("db36772_4");
mysql_query("INSERT INTO users
                (USER_Firstname,
                  USER_Lastname )
             VALUES (
                 $vorname,
                 $nachname);"
)
    OR die(
mysql_error());

?>

</body>
</html>
Nun kommt aber folgende meldung zurück:
Zitat:
Unknown column 'Musterpeter' in 'field list'
__________________
Gruß Marc
GrU3nL!nG ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.06.2005, 20:12  
Gast
 
Beiträge: n/a
Standard

Zeichenketten müssen auch für mysql mit Anführungszeichen (vorzugsweise einfachen Anführungszeichen) markiert werden.
  Mit Zitat antworten
Alt 28.06.2005, 20:29  
Erfahrener Benutzer
 
Registriert seit: 14.02.2005
Beiträge: 790
GrU3nL!nG
Standard

habe es nun so:

->scriptausschnitt:
PHP-Code:
<?php
mysql_connect
(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
mysql_select_db("db36772_4");
mysql_query("INSERT INTO users
                ('USER_Firstname',
                  'USER_Lastname' )
             VALUES (
                 $vorname,
                 $nachname);"
)
    OR die(
mysql_error());

?>
sa, habe also um die spalten namen diese anführungszeichen gemacht.
aber wenn ich dies um die variable machen würde, würde das modul dies als zeichenkette erkennen...
doch nun meckert er wieder:
Zitat:
You have an error in your SQL syntax near ''USER_Firstname', 'USER_Lastname' ) VALUES ( , )' at line 2
__________________
Gruß Marc
GrU3nL!nG ist offline   Mit Zitat antworten
Alt 28.06.2005, 20:31  
Gast
 
Beiträge: n/a
Standard

Jetzt hast die Feldnamen mit ' markiert, nicht die Zeichenketten.
Die Feldnamen kannst Du (manchmal musst Du) mit `markieren.

Code:
INSERT INTO `blub` (`dies`,`das`) VALUES ('abc', 1)
  Mit Zitat antworten
Alt 28.06.2005, 20:38  
Erfahrener Benutzer
 
Registriert seit: 14.02.2005
Beiträge: 790
GrU3nL!nG
Standard

dieses komische hochzeichen, wie bekomm ich das?? habe es per copy&paste ins script gebracht:
PHP-Code:
<?php
mysql_connect
(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
mysql_select_db("db36772_4");
mysql_query("INSERT INTO `users`
                (`USER_Firstname`,
                  `USER_Lastname` )
             VALUES 
                 ($vorname,
                 $nachname);"
)
    OR die(
mysql_error());
?>
Zitat:
You have an error in your SQL syntax near ' )' at line 5
__________________
Gruß Marc
GrU3nL!nG ist offline   Mit Zitat antworten
Alt 28.06.2005, 20:49  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Auf die Tastatur schauen.. Rechts neben dem ? [Fragezeichen].. Da warst du heute ja schon öfter mit dem Finger..
Chr!s ist offline   Mit Zitat antworten
Alt 28.06.2005, 20:49  
Gast
 
Beiträge: n/a
Standard

Würdest Du bitte erstmal die ' bei den Zeichenketten anbringen? Danke.

Sieh Dir einfach nochmal mein Beispiel an. abc ist in diesem Fall eine Zeichenkette, die in das Feld dies eingetragen werden soll.
  Mit Zitat antworten
Alt 28.06.2005, 20:55  
Erfahrener Benutzer
 
Registriert seit: 14.02.2005
Beiträge: 790
GrU3nL!nG
Standard

hey es geht!
nur versteh ich nciht wieso... ich habe doch eine variable und keine zeichenkette

und wie kann ich die DB wieder schließen??
so:
PHP-Code:
<?php
mysql_close
(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
?>
__________________
Gruß Marc
GrU3nL!nG ist offline   Mit Zitat antworten
Alt 28.06.2005, 21:10  
Gast
 
Beiträge: n/a
Standard

mysql hat keine Ahnung von php - interessiert es auch nicht.
Es bekommt eine sql-Anfrage und bearbeitet diese.
Deine Variablen sind php-Variablen - und diese werden ersetzt, bevor die ganze Zeichenkette an mysql geschickt wird. Mysql nimmt sie und wertet sie nach seinen eigenen (mysql-)Regeln aus.

PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'true);

$dbConn mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) or die(mysql_error());
mysql_select_db("db36772_4"$dbConn)  or die(mysql_error());

$query "
    INSERT INTO users
        (USER_Firstname, USER_Lastname`)
    VALUES
        ('$vorname','$nachname')
    "
;
echo 
'Diese Anfrage wird an mysql geschickt: '$query"
\n"
;
mysql_query($query$dbConn ) OR die(mysql_error());

mysql_close($dbConn);
?>
Bei der Ausgabe von $query wirst Du keine Variablen mehr sehen - und mysql genausowenig. Aber es soll die beiden Werte bei VALUES ( ..,.. ) wie Zeichenketten behandeln, also VALUES ( '..','..' )

zum Schließen siehe http://php.net/mysql_close
  Mit Zitat antworten
Alt 28.06.2005, 21:59  
Erfahrener Benutzer
 
Registriert seit: 14.02.2005
Beiträge: 790
GrU3nL!nG
Standard

ich danke dir das war sehr informativ und aufschlussreich!
__________________
Gruß Marc
GrU3nL!nG ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Performances Probleme bei z.B. LIMIT 300000,10 Datenbanken 28 13.02.2005 10:57
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
Auslesen eines Ordner bringt Probleme PHP Tipps 2004 2 09.06.2004 13:56
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mit hinzufügen, datensätze zu einer datenbank hinzufügen php, ###user_firstname### gibt nachnamen aus

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.