PHP - Mit einem Array in einer MySQL DB suchen?

... komplette Frage anzeigen

2 Antworten

Äh, die Funktion print_r speichert nichts in einem Array, sondern sie gibt das Array aus. Lese dir dazu die Beschreibung in der Dokumentation durch: http://php.net/manual/de/function.print-r.php.

Die Variable $_SERVER allerdings zeigt auf ein assoziatives Array, welches verschiedene Informationen speichert, so z.B. den Host.

Um nun in der Datenbank nach der Url zu suchen, musst du die richtige SQL-Syntax verwenden (zumal ich IN hier als unnötig sehe).

"SELECT * FROM url_tabelle WHERE url='$userurl'"

Dabei gehe ich davon aus, dass die Datenbanktabelle eine Spalte mit dem Namen url hat, in der die verfügbaren Urls stehen.

Das alles solltest du nun noch mit Sicherheitsmaßnahmen versehen. Z.B. ist es nicht ratsam, Eingaben von außen ungeprüft in einer Datenbankabfrage zu verwenden.

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo,

bevor das hier weitergeht solltest du dein Script erstmal auf Sicherheit optimieren. So wie du es jetzt hast, kann dir jeder deine Datenbank kaputt machen.

Lies dir dazu vielleicht auch nochmal mein Kommentar in deiner vorherigen Frage durch: https://www.gutefrage.net/frage/php---mysql-datenbankabfrage-suche?foundIn=notification-center#comment-128486239

Als nächstes solltest du dir dann nochmal die Grundlagen in PHP ansehen (oder mach das am besten noch bevor du dein Script Sicherheitstechnisch überarbeitest).

Und dann zu deinem Problem: Was möchtest du denn erreichen (vielleicht mal eine genauere Beschreibung)? Und vorallem, was passiert jetzt gerade und warum ist das falsch?

Grüße

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Schokotod19
22.06.2016, 10:31

Also erstmal danke das hier an Sicherheit gedacht wird ist aber erstmal völlig nebensächlich, da es nur bei mir lokal auf dem Rechner laufen wird zum Testen und ich in ca. 2-3 Wochen bekomme ich meinen neuen Server und möchte auf meinen alten Webspace die bereits neuen Code-Snippets einfügen. Dort ist Sicherheitstechnisch alles gut, da mein Kollege der das mit mir gemacht hat PHP Erfahrung hat. Wieso ich Ihm jetzt nicht mit meinen Frage auf die nerven gehe? Haha er kommt erst in ca3 Wochen aus Spanien zurück.

PS: ich habs mit stundenlangem suchen endlich hinbekommen.

Code:

<?php

require_once ('header.php');
require_once ('dbconnect.php');
$db_link = mysqli_connect (
MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK
);

$sql = "SELECT * FROM `url_tabelle` WHERE `URL` = '".$userurl."'";
$db_erg = mysqli_query( $db_link, $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysqli_error());
}

echo '<table border="1"';
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))

{
echo "";
echo "". $zeile['URL'] . "";
echo "". $zeile['Strasse'] . "";
echo "". $zeile['PLZ'] . "";
echo "". $zeile['Ort'] . "";
echo "";

}
echo "</table>";

mysqli_free_result( $db_erg ); ?>
0

Was möchtest Du wissen?