1--TEST-- 2PostgreSQL sync query 3--EXTENSIONS-- 4pgsql 5--SKIPIF-- 6<?php include("inc/skipif.inc"); ?> 7--FILE-- 8<?php 9 10include('inc/config.inc'); 11$table_name = "table_03sync_query"; 12 13$db = pg_connect($conn_str); 14pg_query($db, "CREATE TABLE {$table_name} (num int, str text, bin bytea)"); 15pg_query($db, "INSERT INTO {$table_name} DEFAULT VALUES"); 16 17$result = pg_query($db, "SELECT * FROM ".$table_name.";"); 18if (!($rows = pg_num_rows($result))) 19{ 20 echo "pg_num_row() error\n"; 21} 22for ($i=0; $i < $rows; $i++) 23{ 24 pg_fetch_array($result, $i, PGSQL_NUM); 25} 26for ($i=0; $i < $rows; $i++) 27{ 28 pg_fetch_object($result); 29} 30for ($i=0; $i < $rows; $i++) 31{ 32 pg_fetch_row($result, $i); 33} 34for ($i=0; $i < $rows; $i++) 35{ 36 pg_fetch_result($result, $i, 0); 37} 38 39try { 40 pg_fetch_result($result, 0, -1); 41} catch (ValueError $e) { 42 echo $e->getMessage(), "\n"; 43} 44try { 45 pg_fetch_result($result, 0, 3); 46} catch (ValueError $e) { 47 echo $e->getMessage(), "\n"; 48} 49try { 50 pg_fetch_result($result, 0, "unknown"); 51} catch (ValueError $e) { 52 echo $e->getMessage(), "\n"; 53} 54try { 55 pg_fetch_all_columns($result, -1); 56} catch (ValueError $e) { 57 echo $e->getMessage(), "\n"; 58} 59try { 60 pg_fetch_all_columns($result, 3); 61} catch (ValueError $e) { 62 echo $e->getMessage(), "\n"; 63} 64 65pg_result_error($result); 66 67pg_result_error_field($result, PGSQL_DIAG_SEVERITY); 68pg_result_error_field($result, PGSQL_DIAG_SQLSTATE); 69pg_result_error_field($result, PGSQL_DIAG_MESSAGE_PRIMARY); 70pg_result_error_field($result, PGSQL_DIAG_MESSAGE_DETAIL); 71pg_result_error_field($result, PGSQL_DIAG_MESSAGE_HINT); 72pg_result_error_field($result, PGSQL_DIAG_STATEMENT_POSITION); 73if (defined('PGSQL_DIAG_INTERNAL_POSITION')) 74{ 75 pg_result_error_field($result, PGSQL_DIAG_INTERNAL_POSITION); 76} 77if (defined('PGSQL_DIAG_INTERNAL_QUERY')) 78{ 79 pg_result_error_field($result, PGSQL_DIAG_INTERNAL_QUERY); 80} 81pg_result_error_field($result, PGSQL_DIAG_CONTEXT); 82pg_result_error_field($result, PGSQL_DIAG_SOURCE_FILE); 83pg_result_error_field($result, PGSQL_DIAG_SOURCE_LINE); 84pg_result_error_field($result, PGSQL_DIAG_SOURCE_FUNCTION); 85 86pg_num_rows(pg_query($db, "SELECT * FROM ".$table_name.";")); 87pg_num_fields(pg_query($db, "SELECT * FROM ".$table_name.";")); 88pg_field_name($result, 0); 89pg_field_num($result, "num"); 90pg_field_size($result, 0); 91pg_field_type($result, 0); 92pg_field_prtlen($result, null, 0); 93pg_field_is_null($result, null, 0); 94 95try { 96 pg_field_is_null($result, null, -1); 97} catch (ValueError $e) { 98 echo $e->getMessage(), "\n"; 99} 100try { 101 pg_field_is_null($result, null, 3); 102} catch (ValueError $e) { 103 echo $e->getMessage(), "\n"; 104} 105try { 106 pg_field_is_null($result, null, "unknown"); 107} catch (ValueError $e) { 108 echo $e->getMessage(), "\n"; 109} 110try { 111 pg_field_name($result, -1); 112} catch (ValueError $e) { 113 echo $e->getMessage(), "\n"; 114} 115try { 116 pg_field_name($result, 3); 117} catch (ValueError $e) { 118 echo $e->getMessage(), "\n"; 119} 120try { 121 pg_field_table($result, -1); 122} catch (ValueError $e) { 123 echo $e->getMessage(), "\n"; 124} 125try { 126 pg_field_table($result, 3); 127} catch (ValueError $e) { 128 echo $e->getMessage(), "\n"; 129} 130 131$result = pg_query($db, "INSERT INTO ".$table_name." VALUES (9999, 'ABC');"); 132pg_last_oid($result); 133var_dump(pg_fetch_all($result)); 134 135pg_free_result($result); 136pg_close($db); 137 138echo "OK"; 139?> 140--CLEAN-- 141<?php 142include('inc/config.inc'); 143$table_name = "table_03sync_query"; 144 145$db = pg_connect($conn_str); 146pg_query($db, "DROP TABLE IF EXISTS {$table_name}"); 147?> 148--EXPECT-- 149Argument #3 must be greater than or equal to 0 150Argument #3 must be less than the number of fields for this result set 151Argument #3 must be a field name from this result set 152pg_fetch_all_columns(): Argument #2 ($field) must be greater than or equal to 0 153pg_fetch_all_columns(): Argument #2 ($field) must be less than the number of fields for this result set 154Argument #3 must be greater than or equal to 0 155Argument #3 must be less than the number of fields for this result set 156Argument #3 must be a field name from this result set 157pg_field_name(): Argument #2 ($field) must be greater than or equal to 0 158pg_field_name(): Argument #2 ($field) must be less than the number of fields for this result set 159pg_field_table(): Argument #2 ($field) must be greater than or equal to 0 160pg_field_table(): Argument #2 ($field) must be less than the number of fields for this result set 161array(0) { 162} 163OK 164