Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datenbankabfrage mittels PHP auf MS SQL Server bringt falsche Daten zurück

Frage Entwicklung PHP

Mitglied: KgFmB

KgFmB (Level 1) - Jetzt verbinden

01.03.2007, aktualisiert 28.04.2007, 8185 Aufrufe, 4 Kommentare

Hierbei handelt es sich um ein seltsamens Phänomen

Hallo zusammen,

hab mal wieder etwas, woran ich mir seit einiger Zeit die Zähne ausbeisse.
Vielleicht kann mir einer von euch helfen.

Folgendes:

Schreib an einer PHP-Anwendung, die Daten aus einer Microsoft SQL Datenbank bezieht.
Nun kommt es vor, das ich bei einigen Fällen bei einem Select mit Count(ID) eine Falsche Anzahl zurückbekomme,
und bei anderen Fällen auch nur einen statt meherer Datensätze zurückbekomme.

Hier ein kleiner Ausschnitt.

$sql = "Select * FROM Sperrliste WHERE bDeleted = 0";
$sql =$sql.$sql_zusatz; Anfügen des 'sql_zusatz' zur Filterung
$sql =$sql." order by ";
Sortierung an den SQL anhängen
$sql =$sql.$sSortieren;

$daten = odbc_exec($connect, $sql); // SQL ausführen und Daten von der Datenbank holen

Mein SQL sieht dann wie folgt aus:
echo "SQL: ".$sql;

Select * FROM Sperrliste WHERE bDeleted = 0 AND Nacharbeitsfestlegung like '%nachrüsten%' order by ID

Die aus der Datenbank zurückerhaltenden Daten stelle ich in einer Tabelle dar.
Nur, ich erhalte keinen einzigen Datensatz zurück. Hingegen, wenn ich den SQL im Query Analyzer starte,
bekomme ich über 400 Datensätze, was auch korrekt ist.

Ein ähnliches Phänomen hab ich, wenn ich die Sache nun mit einem Count(ID) versehe.

Select Count(ID) as Anzahl FROM Sperrliste WHERE bDeleted = 0 AND Nacharbeitsfestlegung like '%nachrüsten%'
Dann erhalte ich ebenfalls keinen Datensatz zurück.
Jedoch wieder im Query Analyzer gestarte über 400.

Und nun zur Krönung meiner Versuche.
Suche ich nach einem anderen Wert, z. B. "Tor" erhalte ich genau die Anzahl aus der Datenbank, die auch tatsächlich in der Datenbank sich befinden.

Meine erste Theorie, es handele sich hier um ein Umlaut Problem "ä", "ö", "ü" etc.
kann ich nicht ganz beweisen, da ich Erfolge hatte bei ähnlichen SQL mit Umlauten.

Hat irgendjemand eine Idee??

MfG
KgFmB
Mitglied: KgFmB
01.03.2007 um 09:49 Uhr
So kleiner Nachtrag:

Hab in dem Feld mal nach dem Wort "umrüsten" gesucht.
Er findet nur einen Datensatz, obwohl in der Datenbank 88 Datensätze vorhanden sind.

So nun hab ich mal alle Datensätze per Update ersetzt und zwar durch "umruesten"
und siehe da. Meine Abfrage von PHP bringt mir alle 88 Datensätze zurück.

Gegenprobe:
Wieder umgestellt auf "umrüsten", das Ergebnis ist wieder nur ein Datensatz.

Also muss es doch mit Umlaute und PHP handeln.
Muss ich in der PHP.INI irgendeinen Eintrag ändern, damit ich auch Umlaute verarbeiten kann.

Wie gesagt, seltsam ist nur, das ich in einem anderen Feld ein Wort wie "bürnen" alle Datensätze aus der Datenbank finde.

Gruß
KgFmB
Bitte warten ..
Mitglied: KgFmB
01.03.2007 um 11:26 Uhr
Ich glaub, ich habe es:

folgendes hatte ich im PHP Code

<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Durch suche in alten ASP.Seiten von Kollegen stiess ich auf folgendes:

<meta http-equiv="Content-Type" content="0" />

Na gut dacht ich mir so, probieren über studieren...

Und siehe da, es funktioniert.
Ich bekomm exakt die Datensätze aus der Datenbank, nach denen ich suche.

Nun stellt sich mir die Frage.
Ist es ein Glückstreffer, oder hab ich durch Zufall die Lösung gefunden?

Vielleicht kann mir ja jemand das bestättigen, das dies die Lösung ist.

Gruß

KgFmB
Bitte warten ..
Mitglied: Dani
02.03.2007 um 00:14 Uhr
G' Abend,
das kannst du doch ganz einfach testen. Such nach einem Wort mit Umlauten. Zuvor entferne aus dem PHP-Dokument die eingefügt Zeile. Such einmal über PHP und danach mit deinem Tool. Dann die Zeile wieder einfügen und wieder mit PHP und dem Tool checken. Somit merkst du schnell, ob's stimmt.


Grüße
Dani
Bitte warten ..
Mitglied: Dani
28.04.2007 um 17:13 Uhr
Hi,
wie ist nun der Status deines Problems??


Gruß
Dani
Bitte warten ..
Ähnliche Inhalte
Microsoft
Datenbankabfrage an MS SQL 2014 aus Sharepoint 2013 senden
Frage von EvilmachineMicrosoft

Hallo Kollegen, ich arbeite mich momentan so ein bisschen in das Thema Sharepoint 2013 ein. Nun hab ich hier ...

Datenbanken
Daten aus Excel in MS SQL Server übernehmen
gelöst Frage von Balu418xxDatenbanken7 Kommentare

Hallo ich stelle gerade die Struktur der Datenerfassung von sich wiederholenden Prüfungen um. Zur Zeit wird das alles in ...

Batch & Shell
For bringt falsches Errorlevel
gelöst Frage von golsinBatch & Shell5 Kommentare

Guten Morgen, mein Ziel ist es aus den for Schleifen das Errorlevel des Pings zu bekommen, komischerweise bekomme ich ...

Windows Server
Neuer MS-SQL-Server
gelöst Frage von tingelWindows Server1 Kommentar

Hallo, Ich bin gerade dabei, mir Gedanken zu machen, wie ich am besten unseren SQL-Server 2008 SP3 auf eine ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...