MySQL Database kann nicht benutzt werden.

FBIagent

Erfahrenes Mitglied
Moin,

wie im Betreff schon gesagt gibt es einen Fehler beim Verbindung
herstellen mit einer Datenbank in MySQL.

Verbindung mit dem MySQL Server selbst funtzt:
PHP:
$srv_con = mysql_connect(gethostbyname('moinsen.no-ip.info',"root","xxx"));

Aber dann bei
PHP:
mysql_select_db("l2jdb",$srv_con);
sagt mir
PHP:
mysql_error();
Access denied for user 'root'@'%' to database 'l2jdb'.

Hier der ganze code:
PHP:
<?php
  $srv_con = @mysql_connect(gethostbyname('moinsen.no-ip.info'),"root","xxx");
  if(!$srv_con)
  {
    echo "MySQL connection failed! Please, try again later.";
    die();
  }
    @mysql_select_db("l2jdb",$srv_con) or die("Database connection Failed. Please, try again later!".mysql_error());
?>

Der MySQL Server läuft auf meinem home Rechner.

Wie kann ich das beheben?

THX
MFG FBIagent
 
Zuletzt bearbeitet:
hab hier mal nen anderen, kannst ja vielleicht den benutzen ;)
Code:
<?php 
// Verbindungsinfos 
$db_host="localhost"; // Wenn es auf deinem LOCALEM rechner ist dan nim doch localhost 
$db_name="usr_webxx_1"; 
$db_user="webxx"; // <------- Hier bitte MySQL Login Name eingeben zwischen den gänsefüschen
$db_pw="xxxxx"; // <-------- Hier bitte MySQL Passwort des oben eingeben Login Namens zwischen den gänsefüschen eingeben

// Mit MySQL verbinden 
$mysql_con = @mysql_connect($db_host,$db_user,$db_pw);

// Mit DB verbinden
$db_con = @mysql_select_db($db_name,$mysql_con);
?>

mfg
 
Der MySQL Server läuft zwar auf meinem Homerechner, aber andere User aus dem Netz
sollen sich registrieren können. Der codeschnipsel wird in eine andere .php datei includiert.
Hier mal beide Dateien:
connect.php
PHP:
<?php
  $srv_con = @mysql_connect(gethostbyname('moinsen.no-ip.info'),"root","xxx");
  if(!$srv_con)
  {
    echo "MySQL connection failed! Please, try again later.";
    die();
  }
    @mysql_select_db("l2jdb",$srv_con) or die("Database connection Failed. Please, try again later!".mysql_error());
?>
try_reg.php
PHP:
<?php

  function password_enc($password)
  {
    if(!function_exists("mhash")) return false;
    return base64_encode(mhash(MHASH_SHA1, utf8_encode($password)));
  }// Encrypt Password

  include "./data/connect.php";

  if(!$_POST['acc'])
  {
    echo "Please insert an account!";
    die();
  }
  $result = mysql_query("SELECT * FROM `accounts`");
  while($row = mysql_fetch_array($result)){
    $login=$row['login'];
    if($_POST['acc']==$login)
    {
      echo "Accountname ".$_POST['acc']." already registered!";
      die();
    }
  }

  if(!$_POST['passwd'])
  {
    echo "Insert a password!";
    die();
  }
  if(password_enc($_POST['passwd'])==false)
  {
    echo "An error has Occured!";
    die();
  }
  else
  {
    $reg_passwd_enc = password_enc($_POST['passwd']);
    mysql_query("INSERT INTO `accounts` VALUES('{$_POST['acc']}',$reg_passwd_enc,'0','0','0')");
    echo "Account ".$_POST['acc']." created.";
  }

?>
Über eine .html werden die Sachen mit der POST Methode übertragen!

Kann es an den zugriffsrechten liegen das kein anderer Server als 'localhost' die DB's
benutzen kann?

THX
MFG FBIagent

EDIT: Es lag an den zugriffsrechten von ausen her hat sich erledigt ;)

Aber er führt das mysql_query(); nicht durch :confused:
 
Zuletzt bearbeitet:
Ich habe nun diesen Code:
PHP:
<?php

  function l2j_encrypt($password)
  {
    if(!function_exists("mhash")) return false;
    return base64_encode(mhash(MHASH_SHA1, utf8_encode($password)));
  }

  include "./con_data/connection.php";

  mysql_select_db($database_db, $db) or die("The Server is Offline. Please, try again later.");
  $pwd_crypt="";

  if (l2j_encrypt("pwd")==false)
  {
    die("WARNING: A function is broken.");
  }
  else
  {
    $pwd = $_POST['pwd'];
    $pwd_crypt = l2j_encrypt($pwd);
  }

  $q = mysql_query("SELECT * FROM accounts");
  $naccounts = mysql_num_rows($q);

  if($naccounts >= $nmaxaccounts)
  {
    echo "The maximum accounts has been reached.";
    mysql_close($db);
  }	
  else
  {	
    $ris1 = mysql_query("SELECT login, password FROM accounts WHERE login = '{$_POST['usr']}'",$db);

    if(mysql_numrows($ris1) > 0) {
      $row = @mysql_fetch_array($ris1);

      if($row['login'] == $_POST['usr']) {
        echo "Your Accountname, <b>".$_POST['usr']."</b> is already registered. Try to get another accountname.";
      }

    }
    else
    {
      $query = "insert into accounts (login, password, lastactive, access_level) VALUES ('{$_POST['usr']}','{$pwd_crypt}','0','0')";
      $ris = mysql_query($query, $db) or die(mysql_error());

      if (!$ris)
      {
        echo "WARNING: An error at the regestration. Please, try again.";
      }
      else
      {
        echo "Welcome to ".$seradr.". The regestration is complete. Go on and have fun with ".$sernam.".";
      }

    }

    mysql_close($db);
  }

?>
Wenn ein Accountname eingegeben wird der schon vorhanden ist kommt das
Your account.....is already registred........
Aber wenn es einer ist der noch nicht registriert ist kommt garnichts eigentlich müsste
dann ja der teil hier kommen:
PHP:
      $query = "insert into accounts (login, password, lastactive, access_level) VALUES ('{$_POST['usr']}','{$pwd_crypt}','0','0')";
      $ris = mysql_query($query, $db) or die(mysql_error());

      if (!$ris)
      {
        echo "WARNING: An error at the regestration. Please, try again.";
      }
      else
      {
        echo "Welcome to ".$seradr.". The regestration is complete. Go on and have fun with ".$sernam.".";
      {
Aber es passiert rein garnichts.
 
Zuletzt bearbeitet:
Zurück