Permalänk
Medlem

[PHP/MySQL]Importera tabeller

Hej Swecare

Har ett litet problem när jag ska migrera ett CMS till en annan server. Servern där jag ska slänga in datan på har ej PhpMyAdmin.

Jag började med att exportera databasen till SQL-syntax via PHPMyAdmin på nuvarande servern. Därefter gjorde jag enkelt så att jag klistrade in frågorna i ett simpelt PHP-dokument, m.h.a. mysql_query(). Detta krävde ju inte alltför mycket arbete. När jag sedan kom till raderna innehållandes tecken som " och ' ville ju självklart inte PHP-syntaxen godta detta.

Exempel:

$query = "INSERT INTO `pages` (`id`, `name`, `text`, `date`, `author`) VALUES (1, 'history', '<h4>Historik</h4>\r\n<img src="img2/history.jpg"/>\r\n<p style="font-size: 12px !important; margin-top: 0px !important;"> - massa mer HTML-kod och text - '), (2, 'medarbetare', '<h4 style="margin-bottom: 0px !important; margin-left: 15px !important;"> - etc -')";

Förstår ni vad jag menar?

Lösningen på detta är ju (eller?) att använda PHP-variabler i SQL-queryn. Men om jag ska sitta och mata in allt detta manuellt kommer jag inte bli färdig förrän auktoriteterna lyckats stänga ner Internet.

Har ni någon smart lösning på detta?

Jag kan ju exportera datan i PHP-arrayer, då borde det väl på något sätt att INSERTa det smidigt? Men inte via mysql_query, va? Dock kör servern PHP 5.2.4 så PDO-stöd bör ju finnas. Har för mig att jag någon gång läst om att man kan använda arrayer smidigt med detta, men minns varken var jag läste det eller hur man gjorde.

Tack på förhand!

Mvh
Johannes

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Testpilot

Gör en sök och ersätt i dokumentet du exporterat till, sök efter " och ersätt med \"

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem
Skrivet av hunden:

Gör en sök och ersätt i dokumentet du exporterat till, sök efter " och ersätt med \"

Haha.. *facepalm*

Tack!

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Medlem

Du kan ju också bara lägga dit phpMyAdmin på den nya server...

Visa signatur

FreeNAS 3U | 8GB | 2x2x3TB ProxMox i7-8700K | 32GB Desktop Dell 22" | Benq 22" | i5-smth | 16GB | Intel 520 120GB | 500GB | Arch

Permalänk
Medlem
Skrivet av atriix:

Du kan ju också bara lägga dit phpMyAdmin på den nya server...

Hmm. Det är bara att slänga upp på ftp:n eller?

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Medlem
Skrivet av Xburk:

Hmm. Det är bara att slänga upp på ftp:n eller?

Japp!

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem

Seriöst. Denna tråd är ju pinsam...

Tack för hjälpen hörni!

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Hedersmedlem
Skrivet av Xburk:

Seriöst. Denna tråd är ju pinsam...

Inget pinsamt med att inte tänka på och veta allt i förväg. Då hade vi kunnat lägga ner alla forum.

Att använda PhpMyAdmin eller ett PHP-script är en omväg. När du redan har en textfil med en SQL-dump så är det enklast att bara använda kommandoradsklienten. Kör din server t ex Linux så är det bara att köra t ex

mysql -u användarnamn -p -D databasnamn < fil_med_sql-kommandon.sql

Med kommandoradsklienten kan du också mata in SQL-kommandon direkt i en interaktiv tolk.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

eller bara köra mysql's egna gui som man kan ladda ned från hemsidan? mysql Workbench...
http://www.mysql.com/downloads/workbench/

Visa signatur

På tok för många datorer för att skriva här

Permalänk
Medlem
Skrivet av phz:

Inget pinsamt med att inte tänka på och veta allt i förväg. Då hade vi kunnat lägga ner alla forum.

Att använda PhpMyAdmin eller ett PHP-script är en omväg. När du redan har en textfil med en SQL-dump så är det enklast att bara använda kommandoradsklienten. Kör din server t ex Linux så är det bara att köra t ex

mysql -u användarnamn -p -D databasnamn < fil_med_sql-kommandon.sql

Med kommandoradsklienten kan du också mata in SQL-kommandon direkt i en interaktiv tolk.

Tricket med \ visste jag ju egentligen

Tyvärr har jag inte tillgång till terminal på servern, utan bara FTP och MySQL. Tack för tipset i alla fall, kommer vara användbart i framtiden. (När jag har min alldeles egna serverhall i källaren på ett stort slott med fiberlina).

Visa signatur

Desktop|i5 3570k(@4,4GHz)|Asus P8Z77-V|AMD 6950|12GB RAM|Crucial BX500 480GB|Manjaro|
Laptop|Lenovo T440s|i7|8GB RAM|Debian Jessie|
Server|Fujitsu Primergy TX1310|G1820|8GB RAM|15TB|Unraid|
Ring, lånad mail

Permalänk
Testpilot
Skrivet av Xburk:

Tricket med \ visste jag ju egentligen

Är jättelätt att man missar enkla lösningar när man mer eller mindre bestämt sig för att det ska vara krångligt

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]