MySQL için dönüştürülmüş bir dizi eklemek nasıl?

3 Cevap php

Ben diziye bir json veri çevirdim ama şimdi ben Dizisi elde tutmak benim veritabanına eklemek istedim

burada kodu

    for ($i=0; $i<=$checking; $i++) {

    $catid = $ids[$i];
    $catname = $names[$i];
    $catapps = $apps[$i];
    $caturl = $iconurls[$i];

$query = "INSERT INTO cat VALUES ('".$catid."','".mysql_real_escape_string($catname)."','".$catapps."','".mysql_real_escape_string($caturl)."')";
mysql_query($query);



};

3 Cevap

PDO ve hazırlanan tablolar ile yapıyor:

try {

   // connect to the DB
   $dbh = new PDO('mysql:host=localhost;dbname=my_db','user','password');

   // prepare the query : it will be faster and safer
   $query = $dbh->prepare("INSERT INTO cat VALUES (id, name, app, url) VALUES (:id, :name, :app, :url)");


   // tell which vars will be used to fill the query
   $query->bindParam(':id', $catid);
   $query->bindParam(':name', $catname);
   $query->bindParam(':app', $catapps);
   $query->bindParam(':url', $caturl);

   // execute your stuff
   for ($i = 0; $i <= $checking; $i++) {

        $catid = $ids[$i];
        $catname = $names[$i];
        $catapps = $apps[$i];
        $caturl = $iconurls[$i];

        $stmt->execute();

   };

} catch(PDOException $e) { // handle connection errors }

$ Dbh = null;

Sana AdoDB MySQL içine daha iyi bir ekleme / güncelleme verisi yapmak için kullanmak önermek istiyorum. Eğer AutoExecute kullanarak ekleme / güncelleştirme zaman adodb otomatik bir kaçışa yapmak. İşte bir kullanım örneği:

$catid = $ids[$i];
$catname = $names[$i];
$catapps = $apps[$i];
$caturl = $iconurls[$i];
//set table name
$table_name = 'cat';
//set field values
$data = array (
  'catid' => $catid,
  'catname' => $catname,
  'catapps' => $catapps,
  'caturl' => $caturl
);
//do insert
$result = $adodb->AutoExecute($table_name, $data, 'INSERT');

$data dizide kullanılan anahtar MySQL cat tablodaki sütun adı olduğunu unutmayın, böylece veritabanındaki sütun adına göre ayarlayın lütfen.

Bir mysql sütuna bir dizi eklemek isterseniz eklerken, sonra ben, veriyi bulup göstermeden veya işlemeden önce, unserialize kullandığınızda o zaman, serialize kullanmanızı öneririm.

which column contains 'Array'? try to print_r or var_dump $catid, $catname, $catapps and $caturl.

Eğer varsa, bunlardan en az biri bir dizi olduğu için 'Array' muhtemelen. php (bir dize ile concaneting zaman örneğin) bir dize içine bir dizi döküm çalıştığınızda, o dizeye dönüştürülmüş oluyor 'Array'.