sql >> Database teknologi >  >> RDS >> PostgreSQL

Lever en forberedt erklæring med et array

Nej det er det ikke. Du indsatte teksten Array... hvis typen af ​​$column er tekst, skal din kode læses

$tag    =  array('item1', 'item2', 'item3');

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", "INSERT INTO $table ($column) VALUES ($1)");

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
foreach( $tag as $i )
    $result = pg_execute($dbconn, "my_query", array($i));
/// alternatively you could try this if you really wanna insert a text as array of text without using text[] type - uncomment line below and comment the 2 above
// $result = pg_execute($dbconn, "my_query", array(json_encode($tag)));

eller hvis du definerede $column som tekst[], hvilket er lovligt i postgresql som array, skal koden læses

$tag    =  array('item1', 'item2', 'item3');

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", "INSERT INTO $table ($column) VALUES ($1)");

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$tmp = json_encode($tag);
$tmp[0] = '{';
$tmp[strlen($tmp) - 1] = '}';
$result = pg_execute($dbconn, "my_query", array($tmp));


  1. Lagring af strukturerede data i en databasekolonne?

  2. Google Cloud SQL - FEJL 2003 (HY000):Kan ikke oprette forbindelse til MySQL

  3. Sådan fejlretter du php/MySQL COUNT(id) og returnerer 1 i stedet for den samlede indtastningsværdi

  4. Er der nogen forskel mellem varchar(10) og varchar(1000), når vi gemmer streng, hvis længde er mindre end 10?