---
title: "MySQL och svart magi?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/167010-mysql-och-svart-magi"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "aasah"
published: "2007-12-06T09:08:38.000Z"
updated: "2007-12-06T09:21:57.000Z"
replies: 5
views: 563
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/167010-mysql-och-svart-magi"
---

# MySQL och svart magi?

## #1 — aasah, 2007-12-06T09:08Z

Ursäkta rubriken... men det känns så! 

Jag försöker flytta vissa värden från en gammal tabell till en ny med följande kod: (Och ja, en kolumn i ny heter något bättre än i old. Detta är dock inte skälet till förflyttningen.)

```php
  $old = "SELECT A, B, C, D, E, F FROM Old ORDER BY id ASC";
  $oldRes = mysql_query($old) or die(mysql_error());
  while ($row = mysql_fetch_array($oldRes, MYSQL_ASSOC)) {
	  foreach($row as $i=>$v) {
	     $row[$i] = addslashes($v);
	     echo "$row[$i]<br>"; 
     }
	  $ins = "INSERT INTO Ny (A, B, C, X, E, F) 
              VALUES('".$oldRes['A']."', '".$oldRes['B']."', '".$oldRes['C']."', 
              ".$oldRes['D'].", ".$oldRes['E'].", ".$oldRes['F'].")";
	  echo "$ins<br>";
	  mysql_query($ins) or die($ins."<br>".mysql_error());
  }
```

Detta ger följande utskrift:

> **Felmeddelande skrev:**
>
> ui=62101  
> i166
> POA
> 4
> 1
> 12  \<--- så här långt är det ur foreach
> INSERT INTO Ny (A, B, C, X, E, F) VALUES('', '', '', , , ) \<---- echo $ins
> INSERT INTO Ny (A, B, C, X, E, F) VALUES('', '', '', , , )
> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , )' at line 1

Sista meddelandet är från mysql_error. Va?   :q Vart ända in i... tar mina fina värden vägen??? Vad är det jag inte ser?

Permalänk: https://www.webforum.nu/p/167010

## #2 — Gein, 2007-12-06T09:14Z

Varför kör du inte istället:

```
INSERT INTO Ny (A, B, C, X, E, F)
      SELECT A, B, C, X, E, F FROM Old ORDER BY id ASC
```

Permalänk: https://www.webforum.nu/p/2059251

## #3 — aasah, 2007-12-06T09:15Z

Um, jooo.... Ibland räcker det att posta här....

$oldRes i $ins ska naturligtvis vara $row. SUCK!

Permalänk: https://www.webforum.nu/p/2059252

## #4 — aasah, 2007-12-06T09:17Z

> **Gein skrev:**
>
> Varför kör du inte istället:
>
>
> ```
> INSERT INTO Ny (A, B, C, X, E, F)
>       SELECT A, B, C, X, E, F FROM Old ORDER BY id ASC
> ```

Jaaa du, bra fråga!   :r För att jag inte tänkte mig för...

Finns det för övrigt något sätt att göra detta direkt från phpmyadmin? Det vore ju ännu smidigare...

Permalänk: https://www.webforum.nu/p/2059255

## #5 — Gein, 2007-12-06T09:19Z

Javisst, det är bara köra SQL-kommandot i phpMyAdmin.

Permalänk: https://www.webforum.nu/p/2059259

## #6 — aasah, 2007-12-06T09:21Z

Ja, kom på att det måste funka med det kortare sättet att skriva... Ännu ett skäl att använda det! Tack, Gein!

Permalänk: https://www.webforum.nu/p/2059261

---

Tråden på webben: https://www.webforum.nu/amne/php/167010-mysql-och-svart-magi
