[PHP/MYSQL] Datensätze editieren funktioniert nicht

ich hätt das $_POST['name'] ja auch direkt in den String genommen, aber da hat PHP gemeckert, also hab ichs so gelöst...


mal ein anderes Problem, ich müsste Umlaute umwandeln, aber warum macht PHP das nicht?

Ich hab hier nen Herrn Hössel, den ich mit meiner AJAX Sufu auch finden will...das ganze funktioniert über nen GET paramter nen GET Parameter. Der sucht alles mit $_GET['input'] in der Datenbank (jaja, sehr Serverlastig, EGAL!) aber liefert halt so ein Fragezeichen zurück, kA obs an der Encodierung liegt, aber hey, das muss gelöst werden, egal wie...

naja, ich hatte den Gedanken: ich manipulier die umlaute einfach beidseitig (input und output) sodass am Ende wieder ein richtiges Ergebnis bei rauskommt...

das lustige ist jetzt nur: ich kann das ganze nicht str_replacen.

gleiches System wie vorher natürlich auch:

testweise:
$aUsers[] = str_replace('ö', 'oe', $row['lastname'], $count).", ".$row['name'];

das $count nur um zu gucken ob er es denn ersetzt hat, Ergebnis: 0

woran kann das nun schon wieder liegen?
 
ich hätt das $_POST['name'] ja auch direkt in den String genommen, aber da hat PHP gemeckert, also hab ichs so gelöst...
Tja, es geht bei arrays eben nicht, daher gleich auf eines einigen und konsequent und konform programmieren. Wenn mal irgendwann das Script unter anderer Arbeitsumgebung (Server, neuer Version) laufen sollte und es Probleme gibt, dann viel Spaß beim überarbeiten. ;)

Welche MySQL Version verwendet du? Es könnte am Zeichensatz der Datenbank liegen. Schau mal in phpmyadmin und ändere es ggf. Ich glaube das Problem trat auch beim Umsatteln von MySQL 4 auf 5 auf.
Google mal danach.

Ansonsten ginge auch zb. alle Umlaute und Sonderzeichen in Unicode etc. zu ändern. also zb.

PHP:
& #214; oder Ö
 
Zuletzt bearbeitet:
Zeichensatz der Datenbank ist latin1

hier mal wieder der anfang von dem Teil:

hab alle vorhandenen Datensätze mal in einen Array eingespeißt:

PHP:
<?php
//Anfangscodeblock
include("_mysqlconfig.php");

/* Verbindung aufbauen, auswählen einer Datenbank */
$link = mysql_connect($sqlhost, $sqlusr, $sqlpwd)
    or die("Keine Verbindung möglich: " . mysql_error());
	
//echo "DEBUG: Verbindung zum Datenbankserver erfolgreich<br />\n";
mysql_select_db($sqldb) or error("Auswahl der Datenbank fehlgeschlagen");
$sql = "SELECT * FROM $sqltbl LIMIT 0 , 200;";
$result = mysql_query($sql) OR die();
if($result)
{
	while($row = mysql_fetch_assoc($result)) 
	{
	$aUsers[] = str_replace('ü', 'ue', $row['lastname'], $count);
echo $count;
...

laut php.net ist das mit dem $count neu, das gibt an wie oft was gereplacet wurde, und jetzt rate mal was da paar hundertmal steht... 000000

nur wenn ich da jetzt print_r benutz und mir den Array anguck, ist da trotzdem ein ü drin, das regt mich echt auf...
 
Keine Ahnung ich sehe jetzt auf die Schnelle keine Fehler und benutze das $count nicht. ^^
Steht denn überhaupt was in $row['lastname'], was es zu ersetzen gibt? Und du hast php5?

Dann lass das count weg oder probiers mit " statt '.
oder versuchs mit ereg_replace
 
Zurück
Oben