So, nachdem mein PC wieder funktioniert :mrgreen: bin ich mal wieder zu blöd den fehler hier drin allein rauszufinden:
[PHP]
1
mysql_query(„INSERT INTO archiv_login (‚_username‘,‚_passwort‘,‚_email‘,‚_anzahlLogins‘,‚_id‘) VALUES TO ($_POST[‚username‘],$_POST[‚passwort‘],$_POST[‚email‘],‚0‘,‚‘)“);
[/PHP]
Und die fehlermeldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in E:\xampp\htdocs\register.php on line 26
Ich find aber nirgendwo nen whitespace
Da kann mir doch sicher en netter kerl weiterhelfen
Du würdest den Fehler sicherlich viel leichter finden, wenn du die mysql abfrage in einer Variablen definierst.
Das ist sowieso empfehlenswerter, da man dann die gleiche abfrage auf der seite nicht nochmal schreiben muss (falls man sie nochmalk benötigt)
Außerdem solltest du deine Abfrage übersichtlicher schreiben
[PHP]
$sql = „INSERT INTO archiv_login (
‚_username‘,
‚_passwort‘,
‚_email‘,
‚_anzahlLogins‘,
‚_id‘
) VALUES (
„.$_POST[‚username‘].“,
„.$_POST[‚passwort‘].“,
„.$_POST[‚email‘].“,
‚0‘)“;
$res = mysql_query($sql);
[/PHP]
ps: Was bedeutet VALUES TO ? Das muss doch VALUES heißen?!
[COLOR=„Red“]//Edit:
Ups: Xray war schneller
Hab ich schon korrigiert, aber da kommt immer noch die gleiche fehlermeldung, und die query komm auch viel süäter:
[PHP]
<?
// Einbinden der Konfigurationsdatei
include_once 'config.inc.php';
// Erstellen der Verbindung zur MySQL-Datenbank
if( !$connection = mysql_connect( $_config['host'], $_config['user'], $_config['password'] ) ) {
die( 'Verbindung zum Datenbankserver konnte nicht hergestellt werden.' );
}
$select_same_name = "SELECT * FROM `Tabelle` WHERE `Username` = '".$_POST['username']."'";
$query_select_same_name = mysql_query($select_same_name);
$anz = mysql_num_rows($query_select_same_name);
if($anz >= 1) { //Der gewünschte Name ist bereits vergeben
echo ("Sorry, aber der name ist schon registriert!!!");
}
else {
// Überprüfen, ob das Formular abgeschickt wurde und ob beide Angaben gemacht wurden.
if( isset($_POST['username'], $_POST['passwort'], $_POST['eMail'])
AND
strcmp(trim($_POST['username']),'') != 0
AND
strcmp(trim($_POST['username']),'') != 0 ) {
if( !mysql_select_db( $_config['database'], $connection ) ) {
die ( 'Die Datenbank ' . $_config['database'] . ' kann nicht verwendet werden.
MySQL-Error: ' . mysql_error() );
}
else{
$sql = "INSERT INTO archiv_login (
'_username',
'_passwort',
'_email',
'_anzahlLogins',
'_id'
) VALUES (
".$_POST['username'].",
".$_POST['passwort'].",
".$_POST['email'].",
'0',
'')";
$res = mysql_query($sql);
}
}
}
[/PHP]
Probier mal hinter jede query mit hilfe von
[PHP]or („“)[/PHP]
ne unterschiedliche Fehlermeldung auszugeben, dann schreibst du uns nochmal den code von der betroffenen mysql abfrage
Beispiel:[PHP]$sql = mysql_query($query) or („Fehler bei query 1“);[/PHP]
bei auto_increment kannst du es ganz weglassen, anhand des defaultwertes wird dann automatisch auto_increment verwendet, als:
[PHP]
$sql = „INSERT INTO archiv_login (
‚_username‘,
‚_passwort‘,
‚_email‘,
‚_anzahlLogins‘,
) VALUES (
„.$_POST[‚username‘].“,
„.$_POST[‚passwort‘].“,
„.$_POST[‚email‘].“,
‚0‘)“;
$res = mysql_query($sql);
wenn du hinter jeder query ein or hast dann müsste der text des or vor oder nach der fehlermeldung stehen, somit kannst du dann rausfinden welche query es war.
Ich denke mal das die felder in der Datenbank Text o. VarChar oder ect. sind …
Du musst noch gucken ob das feld anzahlLogins Int ist oder auch nen text o. nen varchar …
bei in kannste die " ’ " weglassen und bei char o. text müssen die hin !
dann darste das nicht vergessen [SIZE=4]’
[SIZE=2]
[/SIZE][SIZE=2][/SIZE][/SIZE]
immer noch dieselbe fehlermeldung: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\xampp\htdocs\register.php on line 11