Daten aus .xls in MySQL-Datenbank

Gibt es bestimmt, nur wer benutzt noch so Standalone Gästebuch Skripte. Das ist irgendwie so letztes Jahrhundert mäßig - dementsprechend der Code dann auch in PHP4 :eek:
 
Ich muss jetzt nochmal eine doofe Frage stellen, woher weißt du denn, dass das neue Gästebuch MySQL benutzt? Sieht man das an der Datenbank?
Wahrscheinlich ist es nicht so einfach, dass ich aus MySQL nur MySQLi im Code machen muss, oder?

Ich glaube übrigens schon, dass es noch sehr viele Leute gibt, die solche Gästebuch-Scripte benutzen, weil sie nicht mehr brauchen.
 
Wie zB. Comfreek oben schreibt: Im Code sind Funktionen wie mysql_query, die mit mysql_ beginnen.
Daran ieht man das, weil genau um diese Funktionen gehts ja. Die DB MySQL selber ist nicht veraltet
oder sonst was, es geht nur um diese Art, aus PHP darauf zuzugreifen.

Und neben Fertigsoftware (in CMSes und so) oder externen Gästebuchseiten,
(deren GBs man auf die eigene Seite einbinden kann) sind schon auch ganz Eigene in Verwendung.
Von denen laufen auch sicher viele noch mit den alten Funktionen,
aber im Internet "draußen" wirklich in Verwendung begegnet mir sowas hauptsächlich nur auf Seiten,
die sowieso jahrelang stillliegen bzw. vom Ersteller komplett verlassen/vergessen/... wurden.
 
Wie zB. Comfreek oben schreibt: Im Code sind Funktionen wie mysql_query, die mit mysql_ beginnen.
Daran ieht man das, weil genau um diese Funktionen gehts ja. Die DB MySQL selber ist nicht veraltet
oder sonst was, es geht nur um diese Art, aus PHP darauf zuzugreifen.

Ok aber das würde doch heißen, dass das phpmyadmin alt ist, oder?
Denn von dem "neuen" Gästebuch habe ich hier doch keinen Code geschrieben.
Oder welchen Code meinst du?

Und neben Fertigsoftware (in CMSes und so) oder externen Gästebuchseiten,
(deren GBs man auf die eigene Seite einbinden kann) sind schon auch ganz Eigene in Verwendung.
Von denen laufen auch sicher viele noch mit den alten Funktionen,
aber im Internet "draußen" wirklich in Verwendung begegnet mir sowas hauptsächlich nur auf Seiten,
die sowieso jahrelang stillliegen bzw. vom Ersteller komplett verlassen/vergessen/... wurden.

Ja aber von solchen Seiten gibt es ja viele.
In dem Fall hier ist es eine Gedenkseite an eine verstorbene Freundin, da wird natürlich nichts verändert.
 
Hier ein kleines Skript, um IcyBook auf MySQLi zu aktualisieren.

(Falls du die vorherige Version dieses Beitrags gelesen hast: Nun wird auch die Adminoberfläche aktualisiert.)

Hinweise / Warnungen:

Es aktualisiert jede PHP-Datei.

Das einzige Problem: Die Installationsdatei install.php funktioniert nicht mehr. Diese solltest du aber auf deinem Server ("Livesystem") sowieso entfernt haben!

Bitte erstelle ein Backup a) von den Daten und b) von der Datenbank.

Anleitung

Du brauchst hierfür mindestens Windows XP, da PowerShell benötigt wird.

1. Lade ggf. die Dateien, die schon auf deinem Server sind, auf deine Festplatte herunter.
2. Speicher dir folgendes Skript ab in dem IcyBook-Ordner ab (d. h. wo sichauch admin.php und index.php). Da das Kopieren von Codeboxen hier im Forum ein wenig schwierig ist, kannst du das Skript auch von hier abrufen: https://gist.github.com/ComFreek/bed8a1119a39aa77fdb3 bzw. mit diesem Direktlink.
Code:
<#
	Updates all PHP files from IcyBook to use MySQLi extension instead of the
	deprecated MySQL extension
	
	The update process is simply a renaming of all used functions.
	A missing connection parameter gets added as appropriate (see comments).
	
	Warning:
	===========
		IcyBook's code base is unfortunately a mess.
		This script does not attempt to fix security issues, formatting issues,
		issues concerning the maintainability, readability or extensibility.
		This script only updates the code to MySQLi.
#>

# Update all PHP files
Get-ChildItem *.php -recurse | where { ! $_.PSIsContainer } |	Foreach-Object {
		$c = ($_ | Get-Content)
		# General replacement for functions which do not
		# require a connection parameter
		# - mysqli_fetch_assoc
		# - mysqli_num_rows
		$c = $c.replace('mysql_', 'mysqli_')
		
		# Correction for updated function name
		
		$c = $c.replace('mysqli_selectdb', 'mysqli_select_db')
		
		# Fine tuning for functions requiring a connection parameter
		# - mysqli_query
		# - mysqli_real_escape_string
		# - mysqli_error
		# - mysqli_select_db
		# $connect wird in inc/gbconfig.php definiert		
		
		$c = $c.replace('mysqli_query(', 'mysqli_query($GLOBALS["connect"],')
		$c = $c.replace('mysqli_real_escape_string(', 'mysqli_real_escape_string($GLOBALS["connect"],')
		$c = $c.replace('mysqli_error(', 'mysqli_error($GLOBALS["connect"]')
		$c = $c.replace('mysqli_select_db(', 'mysqli_select_db($GLOBALS["connect"],')
		
		# Do nothing for because nothing has to be done :)
		# - mysqli_connect
		
		# Update file
		[IO.File]::WriteAllText($_.FullName, ($c -join "`r`n"))
}

3. Starte "PowerShell" als Administrator. Am einfachsten ist es, wenn du im Windows Startmenü (oder [Win]+[Q] bei 8) nach "PowerShell" suchst und es per Rechtsklick als Administrator startest. Weitere Hilfe: http://www.sevenforums.com/tutorials/11841-run-administrator.html
4. Folgendes eingeben und [Enter] drücken: Set-ExecutionPolicy RemoteSigned
6. Du kannst das Fenster nun schließen.
7. Öffne den Explorer und wechsel in den Ordner, in dem du obiges Skript gespeichert hast, und wähle [Rechte Maustaste] --> [Mit PowerShell ausführen].
8. Fertig.
 
Zuletzt bearbeitet:
Zurück