Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
will nicht eintragen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
will nicht eintragen


 
panta
10-08-2002, 09:45 
 
folgender PHP-Code:

$ip = $REMOTE_ADDR;
$client = $HTTP_USER_AGENT;
$datum = date( "d.m.Y" );
$uhrzeit = date( "G:i:s", time());
srand((double)microtime()*1000000);
$key = md5(uniqid(rand()));
$key = substr($key,20,50);
if ($anmeldemodus==1) {
$anfrage = "INSERT INTO user ( username, password, ip, client, datum, uhrzeit, vorname, nachname, strasse, plz, ort, email, status, key )
values( '$username', '$password', '$ip', '$client', '$datum', '$uhrzeit', '$vorname', '$nachname', '$strasse', '$plz', '$ort', '$email', '$status', '$key' )";
mysql_query( $anfrage, $mconnect ) or die ( "Konnte db nicht öffnen: ".mysql_error () );


verursacht folgende fehlermeldung:
You have an error in your SQL syntax near 'key ) values( 'test1', 'sabaddo', '217.235.80.178'' at line 1

lasse ich jetzt aber key weg, so dass $key nicht eingetragen wird, funktioniert alles! woran kann das liegen? (name der variable und des feldes stimmen!)

 
hand
10-08-2002, 11:59 
 
Bin wieder einmal etwas irritiert. KEY ist doch ein vom MySQL reserviertes Wort. Mich wundert es wie Du es schaffst eine Tabelle anzulegen mit einem Feld, daß den Namen "key" hat.

Ich schaffe das nicht.


CREATE TABLE sample (
id int(11) NOT NULL auto_increment,
Name varchar(50) NOT NULL default '',
Frage varchar(250) NOT NULL default '',
Ort varchar(50) NOT NULL default '',
DatumZeit DATETIME NOT NULL,
PRIMARY KEY (id),
KEY id (id)
) TYPE=MyISAM;


Über KEY wird ein Schlüssel/Index definiert.

Wenn ich versuche ein Feld Key anzulegen bekomme ich einen Error:

mysql> create table test4you (hand char(4), key int);
ERROR 1064: You have an error in your SQL syntax near 'int)' at line 1
mysql>


Das wird also die Ursache für den Fehler sein.
Du wirst gar kein Feld haben, daß "key" heißt.

Wenn doch, poste bitte das Ergebnis von
describe user;

(Vielleicht heißt das Feld auch ganz banal "id", who knows?

 
panta
10-08-2002, 14:24 
 
habe das feld key über phpmyadmin angelegt.

ergebnis von dem befehl lautet so:
Field Type Null Key Default Extra
id int(11) PRI auto _increment
username varchar(30)
password varchar(30)
ip varchar(30)
client varchar(50)
datum varchar(30)
uhrzeit varchar(30)
anrede varchar(30)
vorname varchar(30)
nachname varchar(30)
strasse varchar(30)
plz varchar(30)
ort varchar(30)
email varchar(50)
status varchar(30)
key varchar(50)

 
MelloPie
10-08-2002, 14:49 
 
benenn das mal lieber um.

 
panta
10-08-2002, 16:41 
 
habe ich schon, jetzt funktioniert's. vielen dank, von alleine wäre ich da nie draufgekommen!

absofort nehme ich für die bezeichnung von feldern nur noch deutsche begriffe....;)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:36 Uhr.