Zitat von dennis-spring
Beitrag anzeigen
SQL SELECT mit Umlauten
Einklappen
X
-
Das ist hier der falsche Ort. Wenn du deine Code diskutieren möchtest, wäre ein neuer Thread angebracht.
-
Dann zitiere doch mal den in Deinen Augen größten Fehler...!!!Zitat von h3ll Beitrag anzeigenDer Code hat so viele Fehler, dass die Fehlerbeschreibung so lang wär wie der eigentliche Code.
Einen Kommentar schreiben:
-
Der Code hat so viele Fehler, dass die Fehlerbeschreibung so lang wär wie der eigentliche Code.Zitat von dennis-spring Beitrag anzeigen...???
Einen Kommentar schreiben:
-
...???Zitat von h3ll Beitrag anzeigenMüll zum Quadrat. Bitte nicht verwenden.
Einen Kommentar schreiben:
-
@sino: Du vermischst im gezeigten Code die mysql- und die mysqli-Erweiterungen.
Beziehungsweise hast du sinnlose mysql-Aufrufe im Code stehen.
Einen Kommentar schreiben:
-
Versuch mal folgendes:Zitat von Sino Beitrag anzeigenHallo,
ich habe eine kleine sql-abfrage, die mir Einträge von einer bestimmten Stadt anzeigt. Problem ist, wenn ich nach Städten mit Umlauten suche, dann erhalte ich keine Ergebnisse. Die Suche nach Städten ohne Umlauten ist aber kein Problem. Was müsste ich ändern?
Code:<?php $host = 'xxx'; $user = 'xxx'; $pwd = 'xxx'; $db = 'xxx'; // Create connection $con = mysqli_connect($host, $user, $pwd, $db); $result = mysqli_query($con, "SET NAMES 'utf8'"); // Check connection if(mysqli_connect_errno($con)) { die("Failed to connect to MySQL: " . mysqli_connect_error()); } mysql_select_db($db, $con); mysql_query("SET NAMES 'utf8'"); $city = mysqli_real_escape_string($con, $_POST['city']); $sql = "SELECT * FROM share_offers WHERE city = '$city'"; $result = mysqli_query($con, $sql); //..... ?>
PHP-Code:<?php
$host = 'xxx';
$user = 'xxx';
$pwd = 'xxx';
$db = 'xxx';
// Create connection
$dbCon = new mysqli($host, $user ,$pwd ,$db);
// Check connection
if( $dbCon->connect_errno ) {
exit ( "Failed to connect to MySQL: " . $dbCon->connect_errno );
}
// Alle via $_POST gesendeten Request escapen
foreach( $_POST as $key => $value ){
$_POST[$key] = $dbCon->real_escape_string( $value );
}
// REQUEST in UTF-8 decodieren
$city = utf8_decode( $_POST['city'] );
$sql = "SELECT * FROM share_offers WHERE city = '" . $city . "'";
$query = $dbCon->query( $sql );
$result = $query->fetch_assoc();
//Ausgabe
$cityOutput = $result["city"];
echo 'Result: ' . $cityOutput;
// DB-Connection schliessen
$dbCon->close();
?>Zuletzt geändert von dennis-spring; 30.04.2016, 09:33.
Einen Kommentar schreiben:
-
Versuch's mal damit:
https://www.w3.org/International/que...ess-charset.de
Wichtig ist natürlich, auf die durchgängige Verwendung genau eines Zeichensatzes zu achten, sonst stellt man sich leicht selbst ein Bein.
Einen Kommentar schreiben:
-
Der HTML-Header ist irrelevant. Was zählt ist der HTTP-Header.
Einen Kommentar schreiben:
-
HTML - HEADER
<meta http-equiv="content-type" content="text/html; charset=utf-8">
oder was verwendest du in deinem HTML Teil ???
Einen Kommentar schreiben:
-
"nicht funktioniert" ist keine Fehlerbeschreibung. Zeig was du machst.
Einen Kommentar schreiben:
-
SQL SELECT mit Umlauten
Hallo,
ich habe eine kleine sql-abfrage, die mir Einträge von einer bestimmten Stadt anzeigt. Problem ist, wenn ich nach Städten mit Umlauten suche, dann erhalte ich keine Ergebnisse. Die Suche nach Städten ohne Umlauten ist aber kein Problem. Was müsste ich ändern?
Code:<?php $host = 'xxx'; $user = 'xxx'; $pwd = 'xxx'; $db = 'xxx'; // Create connection $con = mysqli_connect($host, $user, $pwd, $db); $result = mysqli_query($con, "SET NAMES 'utf8'"); // Check connection if(mysqli_connect_errno($con)) { die("Failed to connect to MySQL: " . mysqli_connect_error()); } mysql_select_db($db, $con); mysql_query("SET NAMES 'utf8'"); $city = mysqli_real_escape_string($con, $_POST['city']); $sql = "SELECT * FROM share_offers WHERE city = '$city'"; $result = mysqli_query($con, $sql); //..... ?>
Einen Kommentar schreiben: