2012-11-15 5 views
0

하나의 queryWell로 밀리언트 행 업데이트, 나는 두 가지 PHP 기능을 가지고있어. 둘 다 DB 테이블에 일부 값을 삽입해야합니다. 그래서 첫 번째SQL에서

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

사이클에 엷게을하고. 하지만 다른 열에 몇 가지 값을 추가하려고 합니다만 문제는 배열에 모든 thouse 값이 저장된다는 것입니다. 기능이 어떻게 생겼는지. 이미 쿼리 thumb 열을 작성하여

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

} 

그래서 내가 어떻게 행에 $ 데이터 배열의 값을 추가 할 수 있습니까? 가능합니까?

+1

삽입 또는 업데이트 하시겠습니까? – vlcekmi3

+0

업데이트하고 싶습니다. 그것은 사촌 전에 삽입했다 내가 그것을 writed했을 때 나는 오직 하나의 열이 bv 일 것이라고 생각했다 – DanilGholtsman

답변

1

PHP PDO를 사용해보십시오. 명령문을 준비한 다음 원하는만큼 여러 번 실행할 수 있습니다. 예 :

$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 
} 

은 결국 당신은에 의해 마지막 경로를 대체 할 수 :

$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 
} 

... 당신은 당신이 필드를 순서대로 실행의 배열을 제공해야 증언 요구 무산.

감사합니다.

+0

잘, thx 나는 그것을 시도 할게 – DanilGholtsman