User aus externem Script zu PHPBB3 per user_add()
Verfasst: 25.01.2011 20:49
Hallo an alle.
Ich hoffe ich poste hier ins richtige Forum.
Ich bin dabei meine User aus einem anderen Script zu PHPBB3 zu konvertieren.
Hierzu habe ich mir ein Script mit Hilfe der user_add() Funktion gebastelt.
Der Code sieht folgendermaßen aus:
Das klappt auch soweit gut. Bis zu einem bestimmten Punkt.
Dann erscheint diese Fehlermeldung:
Ich habe jetzt herausgefunden, dass an der Stelle wo das Script den Fehler ausgibt, ein Username vorkommt der ein "ß" am Ende hat.
Ich habe nur leider überhaupt keine Ahnung mehr, wie ich das Problem lösen kann. Darf der Username kein "ß" haben?
Kann ich mir eigentlich schwer vorstellen. Aber woran liegt es dann?
Ich hoffe das jemand evtl. eine Lösung für mich hat, oder sonst einen Tip wo ich ansetzen kann.
Gruß,
Christian
Ich hoffe ich poste hier ins richtige Forum.
Ich bin dabei meine User aus einem anderen Script zu PHPBB3 zu konvertieren.
Hierzu habe ich mir ein Script mit Hilfe der user_add() Funktion gebastelt.
Der Code sieht folgendermaßen aus:
Code: Alles auswählen
<?php
//DB KONFIG
mysql_connect("localhost", "dbuser", "dbpasswort")
or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("dbname");
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include('includes/functions_user.php');
$query = mysql_query("SELECT * FROM membersold ORDER BY USERID DESC");
$line = "0";
while ($array = mysql_fetch_array($query))
{
$line = $line + 1;
$username = $array['username'];
$password = $array['password'];
$email_address = $array['email'];
$group_id = '4';
$group_name = 'REGISTERED';
$timezone = '+2';
$language = 'en';
$user_type = USER_INACTIVE;
$user_actkey = md5(rand(0, 100) . time());
$user_actkey = substr($user_actkey, 0, rand(8, 12));
$user_ip = $array['reg_ipaddress'];
$user_inactive_reason = INACTIVE_REGISTER;
$user_inactive_time = time();
$user_row = array(
'username' => $username,
'user_password' => phpbb_hash($password),
'user_email' => $email_address,
'group_id' => (int) $group_id,
'user_timezone' => (float) $timezone,
'user_dst' => $is_dst,
'user_lang' => $language,
'user_type' => $user_type,
'user_actkey' => $user_actkey,
'user_ip' => $user_ip,
'user_inactive_reason' => $user_inactive_reason,
'user_inactive_time' => $user_inactive_time,
);
$user_id = user_add($user_row);
## echo zum prüfen
echo "<pre>";
print_r($user_row);
echo "</pre>";
echo "<br>Zeile: ".$line."<br>";
}
?>
Dann erscheint diese Fehlermeldung:
Code: Alles auswählen
General Error
SQL ERROR [ mysqli ]
Incorrect string value: '\xDF' for column 'username' at row 1 [1366]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
Ich habe nur leider überhaupt keine Ahnung mehr, wie ich das Problem lösen kann. Darf der Username kein "ß" haben?
Kann ich mir eigentlich schwer vorstellen. Aber woran liegt es dann?
Ich hoffe das jemand evtl. eine Lösung für mich hat, oder sonst einen Tip wo ich ansetzen kann.
Gruß,
Christian