sql >> Databáze >  >> RDS >> Mysql

Chyba převodu pole na řetězec PDO

execute() metoda očekává jediné pole. Z dokumentace:

Pomocí array($id,$array) předali byste vícerozměrné pole, které vypadá takto:

Array
(
    [0] => 1
    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

)

To rozhodně není to, co očekává. Potřebuje jednorozměrné pole obsahující hodnoty, které mají být vloženy.

Chcete-li tento problém vyřešit, musíte upravit formát pole. Přidejte ID na začátek pole, například takto:

$array = array(1, "a",  "b",  "c");

Pokud je proměnná ID generována dynamicky, můžete ji ručně přidat do pole start pomocí array_unshift() funkce:

$id = "1";    
$array = array("a",  "b",  "c");
$array = array_unshift($array, $id);

... a poté upravte execute() zavolejte takto:

$statement1->execute($array);


  1. Získejte data MySQL v node.js (express) a tiskněte pomocí EJS

  2. Máte přístup k hodnotě automatického přírůstku v MySQL v rámci jednoho příkazu?

  3. Jak používat proměnnou řadiče v Views + cakephp

  4. Jak získáte výstup ve formátu tabulky z MySQL v neinteraktivním režimu?