pg_query($dbb,"INSERT INTO recipients ('sessionuid', 'commission', 'recipientcode', 'optional', 'minamount', 'maxamount', 'receiverfullname', 'receivercountry', 'receivercity', 'supportedcurrency', 'status') VALUES ('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')"); Подскажите, пожалуйста, где ошибка? Идентификатор подключения к базе получаю! Имена колонок вписаны без ошибок, последовательно. Может быть кодировка или синтаксис?
названия полей должны быть в двойных кавычках INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional",
Пробую так... Результата нет. pg_query($dbb,'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status") VALUES ("f", "f", "f", "f", "f", "f", "f", "f", "f", "f", "f")');
кхе-кхе... это кто тебя так нагло обманул? мне бабка-шептуха рассказала, что названия полей в обратных кавычках (`), а данные - в зависимости от того, в каких кавычках весь запрос - или ", или '.
1) названия полей не нужно заключать в кавычки 2) нужно проверить что за ошибка при вставке PHP: $result=pg_query($dbb,"INSERT INTO recipients (sessionuid, commission, recipientcode, optional, minamount, maxamount, receiverfullname,receivercountry, receivercity,supportedcurrency, status) VALUES ('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')"); if($result==false) { echo pg_result_error ( $dbb); } 3) приведи структуру таблицы
Ребята, не заносятся в таблицу данные так, как вы предлагаете. Причем, pg_result_error ( $dbb) возвращает идентификатор соединения с базой... А данных все равно нет. Только при таком раскладе в таблицу заносятся не значения, а названия переменных ($sessiya, $comissiya и т.д.) $result=pg_query($dbb,'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status") VALUES (\'$sessiya\', \'$comissiya\', \'$recepcod\', \'$option\', \'$minamount\', \'$maxamount\', \'$polnimya\', \'$strana\', \'$gorod\', \'$bablo\', \'$status\')'); Как еще можно что сделать? Спасибо всем, кто помогает!!!!!!!!!!!!!!!!!!!!!!!!!!!!
B_Yurchenko . Блин, так и хочется потроллить и пообзываться... Но... вот оно решение (хоть и небезопасное): PHP: <?php $result=pg_query($dbb, 'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status") VALUES '."('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')"); для удобства могу посоветовать класс для работы с базой данных PostgreSQL, точно такой же какой описан для MySQL тут http://www.php.ru/forum/viewtopic.php?t=31744
Пример PHP PHP: <?php $sql = 'INSERT INTO table (int_column, string_column, double_precision_column) VALUES ('.$int.', \''.$string.'\', '.(float)$int.')'; Пример SQL [sql]INSERT INTO table("int_column", "string_column", "double_precision_column") VALUES (111, 'str', 1.3)[/sql] И то и то работает
Ребята, вы можете смеяться, говорить, что у меня ошибка не в коде, а в ДНК, но данные в таблицу не заносятся....((((( Может быть создать таблицу, где имена столбцов уже будут содержать ""?
Реально не получается... $result = '($dbb,\'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status")'; $poluchilos = $result." VALUES ('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')\');" ; $dokvo = pg_query ($poluchilos);
B_Yurchenko у тебя данные не экранируются, потому в запросе ошибка вылазит, которую ты поймать не можешь. скорее всего в одном из полей есть одинарная кавычка. PHP: <?php $sessiya = addslashes($sessiya); $comissiya = addslashes($comissiya); $recepcod = addslashes($recepcod); $option = addslashes($option); $minamount = addslashes($minamount); $maxamount = addslashes($maxamount); $polnimya = addslashes($polnimya); $strana = addslashes($strana); $gorod = addslashes($gorod); $bablo = addslashes($bablo); $status = addslashes($status); $result=pg_query($dbb, 'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status") VALUES '."('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')");
Правильнее так, но тоже нет(((( $result = '($dbb,\'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status")'; $poluchilos = $result." VALUES ('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')')"; $dokvo = pg_query ($poluchilos);
Gromo Не получается и так, как Вы советуете(((( Я думаю, может быть все дело в том, что я данные заносить пытаюсь в win-1251?
B_Yurchenko PHP: <?php $sessiya = pg_escape_string($sessiya); $comissiya = pg_escape_string($comissiya); $recepcod = pg_escape_string($recepcod); $option = pg_escape_string($option); $minamount = pg_escape_string($minamount); $maxamount = pg_escape_string($maxamount); $polnimya = pg_escape_string($polnimya); $strana = pg_escape_string($strana); $gorod = pg_escape_string($gorod); $bablo = pg_escape_string($bablo); $status = pg_escape_string($status); $query = 'INSERT INTO recipients ("sessionuid", "commission", "recipientcode", "optional", "minamount", "maxamount", "receiverfullname", "receivercountry", "receivercity", "supportedcurrency", "status") VALUES '."('$sessiya', '$comissiya', '$recepcod', '$option', '$minamount', '$maxamount', '$polnimya', '$strana', '$gorod', '$bablo', '$status')"; echo $query; exit(); $result=pg_query($dbb, $query); ?> и то, что выйдет - в студию