2012-11-15 3 views
0

par une requêteWell, j'ai deux fonctions PHP. Les deux devraient insérer des valeurs dans les tables DB. Ainsi, le premierMiltiple lignes mise à jour avec sql

mysql_query("INSERT INTO images (thumb) VALUES ('$path')");

faire amincit dans le cycle. Mais alors je dois ajouter des valeurs dans une autre colonne mais le problème est que toutes ces valeurs sont stockées dans un tableau. Voilà à quoi ressemblait la fonction.

function uploading_paths($names_array){ 
    $data = '(\'' . implode('\'),(\'', $names_array) . '\')'; 
    mysql_query("INSERT INTO `images` (`image_path`) VALUES $data"); 

} 

Alors, comment puis-je ajouter des valeurs de tableau de données $ en lignes avec déjà rempli thumb colonnes par une requête? Est-ce possible? Essayez d'utiliser PHP PDO pour cela.

+1

vous voulez insérer ou mettre à jour? – vlcekmi3

+0

Je veux mettre à jour. il a été inséré avant cuz quand je l'ai écrit, je pensais qu'il va bv seulement une colonne – DanilGholtsman

Répondre

1

Il vous permet de préparer une déclaration, puis de l'exécuter autant de fois que vous le souhaitez. Exemple:

$mysql_host = "127.0.0.1"; 
$mysql_user = "root"; 
$mysql_password = ""; 
$mysql_database = "myShop"; 
$dbLink = new PDO("mysql:host=$mysql_host;dbname=$mysql_database;charset=utf8", $mysql_user, $mysql_password, array(PDO::ATTR_PERSISTENT => true)); 
$dbLink->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); 
$query = $dbLink->prepare("insert into `images` (`thumb`, `path`) values (?, ?);"); 
foreach ($names_array as $thumb => $path) 
{ 
    $query->execute(array($thumb, $path)); // note the order as they should appear 
} 

Eventuellement, vous pouvez remplacer le dernier chemin par:

$query = $dbLink->prepare("insert into `images` (`thumb`, `path`) values (:thumb, :path);"); 
foreach ($names_array as $thumb => $path) 
{ 
    $query->execute(array(":path" => $path, ":thumb" => $thumb)); // no order restriction 
} 

... et vous avez gagné `fournir le tableau d'exécuter dans l'ordre que vous avez les champs.

Cordialement!

+0

bien, merci, je vais l'essayer – DanilGholtsman