Prefix table problem

1

Prefix table problem

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Pozdrav,

nekoliko ključnih tabela imaju prefix sa underscore npr., _tamo_nesto.

U jednu od tih tabela dodao sam polje za ubacivanje nekog rekorda.

Problem je što neće da mi unese zapis , dok u sve druge tabele bez underscore najnormanlije vršim unos kroz formu.

Ima li neka caka za ovakve tabele?

Koristim najobičniji query npr.
$query=mysql_query("INSERT INTO _content_grad (wishlist) VALUES('$_POST[wishlist]')");
Hvala unapred.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Napisano: 21 Jul 2013 23:15

Koji je tebi prefix ? Ja ga nevidim u upitu? Zasto nisi nisi pravilno formatirao query. Aj dodaj mysql_real_escape($_POST['blabla']);

Nisam te bas tacno razumeo u cemu je problem.

Dopuna: 21 Jul 2013 23:17

Aham tebi je prefix UND (_).

Dopuna: 21 Jul 2013 23:24

Ajde probaj da odvojis  $prefix = '_blabla'; i u query doday $prefix.table



offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Da, prefix je underscore(ako to možemo zvati prefix) tabela se zove _content_grad

i kao što vidiš gore u mom query-ju , stavio sam _content_grad.

tridesetak tabela nemaju underscore ispred i one nisu problem ali nekoliko ključnih imaju ovo.

mysql_real_escape ne vrši posao ovde ,a koliko znam , stavlja se zbog security, a on je deprecated u PHP6.

Nisam te razumeo gde da stavim prefix.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3763
  • Gde živiš: 127.0.0.1

Probaj
$query=mysql_query("INSERT INTO `_content_grad` (wishlist) VALUES('" . addslashes($_POST[wishlist]) . "')");

Obrati paznju na ` oko imena tabele Wink

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Rastafarii ::Probaj
$query=mysql_query("INSERT INTO `_content_grad` (wishlist) VALUES('" . addslashes($_POST[wishlist]) . "')");

Obrati paznju na ` oko imena tabele Wink


Kad primenim ovakav query, dobijem undefined wishlist

Notice: Use of undefined constant wishlist - assumed 'wishlist' in C:\wamp\www\balkanrent_test\zelja.php on line 46

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Napisano: 22 Jul 2013 12:57

@gfactory nemoguce evo ja sam malopre napravio nekoliko tabela sa _prefix i ubacio kolone testirao oba koda i rade...

Da ti mozda nekoristis mysqli?

Dopuna: 22 Jul 2013 13:00

Cek cek, sta pokusavas ti da uneses u tabelu? Kojeg je tipa tabela? Date, Varchar, INT ? Ako je Date a pokusavas string da ubacis moras da konvertujes input data

Dopuna: 22 Jul 2013 13:05

Da li ti je Mgic QUotes ukljucen? [Link mogu videti samo ulogovani korisnici]
Ako je ukljucen stavi na OFF.
; Magic quotes ; ; Magic quotes for incoming GET/POST/Cookie data. magic_quotes_gpc = Off ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. magic_quotes_runtime = Off ; Use Sybase-style magic quotes (escape ' with '' instead of \'). magic_quotes_sybase = Off
Ili ga iskljuci direktno u kodu

if (get_magic_quotes_gpc()) {     $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);     while (list($key, $val) = each($process))     {         foreach ($val as $k => $v)         {             unset($process[$key][$k]);             if (is_array($v))             {                 $process[$key][stripslashes($k)] = $v;                 $process[] = &$process[$key][stripslashes($k)];             }             else             {                 $process[$key][stripslashes($k)] = stripslashes($v);             }         }     }     unset($process); }
Ja vise stvarno neznam kako i sta drugo moze da te zeza..

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Napisano: 22 Jul 2013 13:05

_iKaC,

ja inače koristim mysql na wampu, e sad, ovo je izgleda zend framefork, npr čitanja iz baze su na ovaj fazon

$oglasiCollection = new Collection("_content_oglas");       $oglasi = $oglasiCollection->getCollection("WHERE status = 1 AND lang = '$currentLanguage' AND resource_id = '$resource_id'");    $oglas = $oglasi[0];    if ($oglas->id == "" ) $f->redirect("/");        $deloviGradaColl = new Collection("_content_deo_grada");    $deloviGrada = $deloviGradaColl->getCollection("WHERE status = '1' AND lang='$currentLanguage' AND resource_id = '$oglas->deo_grada'");    $deoGrada = $deloviGrada[0];

On koristi SQL/ PDO MySQL(valjda) ali i pored toga, ne bi trebalo da bude problema , dodao sam jedno polje na tabelu i kroz formu prosleđujem unos, nikakva filozofija, ali neće da unese sa UND ispred imena tabele. Bez UND unosi odmah.

Ako ti nije problem , okači ovde query i tu tabelu što si probao da probam i ja, hvala drugar.

Dopuna: 22 Jul 2013 13:06

pokušavan da unesem samo rekorde za jedno polje koje sam dodao , varchar 250 chars, to je sve

Dopuna: 22 Jul 2013 13:10

magis mi je po defaultu zakomentovan

; magic_quotes_gpc ;   Default Value: On ;   Development Value: Off ;   Production Value: Off

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Napisano: 22 Jul 2013 13:19

Pa sto nas cimas covek Very Happy sto nerece da je to ZFW
Aj u test file zvekni
echo Zend_Version::VERSION;

I kopiraj mi u postu bootstrap.php i config.ini

Note: sakrij samo db user i pass nemora svako da zna sta si stavljao.

Dopuna: 22 Jul 2013 13:20

Cak sto vise nemora da znaci da je ZFW jer sada u svojim najobicnijim applikacijama mozes da izmiksujes 10 razlicitih biblioteka pomocu composera. Mozda je samo uzet deo od ZF

Dopuna: 22 Jul 2013 13:43

Da i jos nesto daj mi Model koji upisuje to u bazu celokupni kod modela i kontrolera mozda je tu negde greska u $this->data

offline
  • Pridružio: 25 Jan 2004
  • Poruke: 2784
  • Gde živiš: Niš

A šta ti je wishlist i zašto je to konstanta?

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

@_iKaC,

izvini druže, mogao sam odmah reći smešak .... jeste , ovo je bar delimično zend ili deo biblioteke ,

ovaj test fajl nisam vezao sa sajtom, probao sam sa posebne stranice da prosledim unos kroz formu, samo sam konektovao bazu mysql_connect i mysql_select_db....

Zato ne znam gde da mu lupim echo zend da bi video verziju.

Ovo čudo nema bootstrap.php a config.php evo ga... view ima a model i kontroler nemam pojma gde su mu kao što je razvrstano u CAKEPHP i Code Igniter-u
<?php        //Krenula sesija    session_start();        include ("mysql.php");         //Putanja za aplikaciju    define("APP_PATH", "library/");    define("MODULE_PATH", "../library/");         //Podesavanja za FB aplikacije    define('YOUR_APP_ID', ' ');    define('YOUR_APP_SECRET', ' ');         //Podesavanja za slike i za fajlove, ekstenzije     define("PIC_EXT", "jpg,jpeg");    define("GALLERY_EXT", "zip");    define("FILE_EXT", "zip,rar,pdf,doc,docx,xls,xlsx,jpg,gif,png,jpg");    //define("DOMAIN" , '');        define("FILE_MANAGER_PATH", "/home/free1/public_html/dev/uploads");         //Autolodujemo sve klase koje nadjemo u library folderu    function __autoload($class_name) {       if(is_file(APP_PATH . strtolower($class_name) . '.class.php')) {           include APP_PATH . strtolower($class_name) . '.class.php';       } else {          include MODULE_PATH . strtolower($class_name) . '.class.php';       }    }     //Kreiramo osnovne klase    $db = new Database();    $f  = new Functions();    $site  = new Site();         //utvrdjujemo koji je lang code, tj. na kom smo jezuku    $lang_code = $f->getValue("lang_code");     //Ako nema jezika onda cemo da iscitamo defaultni    if($lang_code == "") {        $language = new View("languages", 1, "is_default");       $currentLanguage = $language->id;       $lang_code = $language->code;    } else {        //Ako je setovan onda pravimo objekat sa tim jezikom        $language = new View("languages", $lang_code, "code");         $currentLanguage = $language->id;    }            //Iz lang fajla citamo sve promenljive i pakujemo u niz. Sve se nalazi u nizu $languageFileValues     $langfile = simplexml_load_file("library/languages/".$lang_code.".xml");     $languageFileValues = array();     foreach($langfile as $constant) {         $constkey = $constant->const;         $languageFileValues["$constkey"] = "$constant->value";     }         //Citamo iz settings tabele sve za ovaj jezik     $settings = new View("settings", $currentLanguage, "lang_id");         //Vadimo sva podesavanja za jezik    $configSiteTitle           = $settings->site_title;    $configSiteFooter          = $settings->site_footer; $dataSettings['site_footer'];    $configSiteKeywords        = $settings->site_keywords;    $configSiteDescription     = $settings->site_description;    $configSiteEmail           = $settings->site_email;    $configSiteDomain       = $settings->site_domain;         //Pitamo da li je logovan korisnik i pravimo objekat    //$logedUser = $f->logedUser();    $logedUser = $_SESSION["logedUser"];    if(!$logedUser) {       $isLoged = false;    } else {        $user = new View("users", $logedUser);        $isLoged = true;    }        //niz za osobine    $osobineNiz = array(       'svi-tipovi-objekta' => array(          'vlasnistvo' => 'Vlasništvo',          'spratnost' => 'Spratnost',          'gradnja' => 'Gradnja',          'grejanje' => 'Grejanje',          'velicina' => 'Veličina',          'kuca_spratnost' => 'Kuća spratnost',          'za_kucu' => 'Za kuću',          'spratnost' => 'Spratnost',          'namestenost' => 'Nameštenost',          'izdavanje_sobe' => 'Izdavanje sobe',          'kancelarije' => 'Kancelarije',          'garaza' => 'Garaza',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina',          'izgled' => 'Izgled',          'dodaci' => 'Dodaci'       ),       'stan' => array(          'vlasnistvo' => 'Vlasništvo',          'struktura' => 'Struktura',          'spratnost' => 'Spratnost',          'gradnja' => 'Gradnja',          'grejanje' => 'Grejanje',          'velicina' => 'Veličina',          'namestenost' => 'Nameštenost',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina',          'izgled' => 'Izgled',          'dodaci' => 'Dodaci'       ),       'kuca' => array(          'vlasnistvo' =>'Vlasništvo',          'gradnja' => 'Gradnja',          'kuca_spratnost' => 'Kuća spratnost',          'za_kucu' => 'Za kuću',          'namestenost' => 'Nameštenost',          'grejanje' => 'Grejanje',          'dodaci' => 'Dodaci',          'izgled' => 'Izgled',          'depozit' => 'Depozit',          'stanarina' => 'Stanatina',          'ljubimci' => 'Ljubimci'       ),       'soba' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'spratnost' => 'Spratnost',          'namestenost' => 'Nameštenost',          'izgled' => 'Izgled',          'grejanje' => 'Grejanje',          'dodaci' => 'Dodaci',          'izdavanje_sobe' => 'Izdavanje sobe',          'stanarina' => 'Stanarina',          'depozit' => 'Depozit',          'ljubimci' => 'Ljubimci',          'soba' => 'Soba'       ),       'garaza' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'garaza' => 'Garaza',          'stanarina' => 'Stanarina'       ),       'ostalo' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'lokal' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'spratnost' => 'Spratnost',          'izgled' => 'Izgled',          'grejanje' => 'Grejanje',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'kancelarijski-prostor-poslovni-prostor' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'kancelarije' => 'Kancelarije',          'spratnost' => 'Spratnost',          'grejanje' => 'Grejanje',          'izgled' => 'Izgled',          'dodaci' => 'Dodaci',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'hale-magacini' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'kancelarije' => 'Kancelarije',          'grejanje' => 'Grejanje',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'ugostiteljski-objekat' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'spratnost' => 'Spratnost',          'namestenost' => 'Nameštenost',          'izgled' => 'Izgled',          'dodaci' => 'Dodaci',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'kiosk-stand' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'kiosk_stand' => 'Kiosk/Štand',          'dodaci' => 'Dodaci',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'plac-stovariste' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'poljoprivredno-zemljiste' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'depozit' => 'Depozit',          'stanarina' => 'Stanarina'       ),       'kuca-vikendica'  => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'za_kucu' => 'Za kuću',          'izgled' => 'Izgled',          'dodaci' => 'Dodaci',          'grejanje' => 'Grejanje',          'ljubimci' => 'Ljubimci'       ),       'apartman' => array(          'vlasnistvo' => 'Vlasništvo',          'gradnja' => 'Gradnja',          'spratnost' => 'Spratnost',          'soba' => 'Soba',          'grejanje' => 'Grejanje',          'izgled' => 'Izgled',          'dodaci' => 'Dodaci',          'ljubimci' => 'Ljubimci'       )    );     ?>

view.class.php
<?php class View extends Functions {        public $db, $f;    private $table, $key_value, $key_field;        function __construct($table, $key_value = false, $key_field = "id") {       $this->db = Database::__construct();       $this->f  = Functions::__construct();              $this->table = $table;       $this->key_value = $key_value;       $this->key_field = $key_field;              $this->setFields();              if($key_value) {                    $this->getData();       }           }        function createTableName($title) {        $tableName = strtolower($title);        $tableName = str_replace(" ", "_", $tableName);        $tableName = "_content_".$tableName;        return $tableName;    }        function createColumnName($title) {        $columnName = strtolower($title);        $columnName = str_replace(" ", "_", $columnName);        return $columnName;    }        function __destruct() {       unset($this->db, $this->f);    }        function Save() {              $fields = $this->getFields();              $SQL = "";              // if there is key value, then update this row in a table, else create a new one       if($this->key_value !== false) {                 $SQL = "UPDATE `".$this->table."` SET ";          foreach ($fields as $key => $field_info) {             if($field_info['Field'] != $this->key_field) {                $SQL .= "`".$field_info['Field']."` = '".$this->{$field_info['Field']}."', ";             }          }                    $SQL = substr($SQL, 0, strlen($SQL) - 2);          $SQL .= " WHERE `".$this->key_field."` = '".$this->key_value."'";              } else { // here we create a new one                    $SQL = "INSERT INTO `".$this->table."` (";          foreach ($fields as $key => $field_info) {             if($field_info['Field'] != $this->key_field) {                $SQL .= "`".$field_info['Field']."`, ";             }          }          $SQL = substr($SQL, 0, strlen($SQL) - 2);          $SQL .= ") VALUES (";          foreach ($fields as $key => $field_info) {             if($field_info['Field'] != $this->key_field) {                $SQL .= "'".$this->{$field_info['Field']}."', ";             }          }          $SQL = substr($SQL, 0, strlen($SQL) - 2);          $SQL .= ")";                 }              Database::execQuery($SQL);       if($this->key_value === false)          $this->id = $this->insertId;           }        function Remove() {       if($this->key_value !== false) {          Database::execQuery("DELETE FROM `".$this->table."` WHERE `".$this->key_field."` = '".$this->key_value."'");       }    }        function linkWith($foreign_table, $foreign) {                     $SQL = "SELECT * FROM ";       $SQL .= "`".$foreign_table."` WHERE ";       foreach ($foreign as $rel_id => $for_id) {                    $replacment = (isset($this->{$for_id})) ? $this->{$for_id} : $for_id;                    $SQL .= "`".$rel_id."` = '".$replacment."' AND ";       }       $SQL = substr($SQL, 0, strlen($SQL) - 4);              $returnObject = array();              $query = Database::execQuery($SQL);       while($data = mysql_fetch_array($query, MYSQL_ASSOC)) {                    $returnObject[] = new View($foreign_table, $data['id']);       }              return $returnObject;           }        function linkWithCustom($foreign_table, $SQL) {       $returnObject = array();       $query = Database::execQuery($SQL);       while($data = mysql_fetch_array($query, MYSQL_ASSOC)) {                    $returnObject[] = new View($foreign_table, $data['id']);       }              return $returnObject;    }        function extend($input) {       foreach ($input as $field => $value) {                    if(isset($this->{$field})) {             $this->{$field} = $this->stringCleaner($value);          }       }    }        /**     * Checks if the input value is valid     *     * @param string $value     * @param string $filter bool, email, float, int, ip, regex, url     * @param string $input_type     * @return input value if valid, false otherwise     */    function checkInput($value, $filter, $input_type = INPUT_POST) {              $filter_id = "";       switch ($filter) {          case "bool":    $filter_id = FILTER_VALIDATE_BOOLEAN;  break;          case "email":    $filter_id = FILTER_VALIDATE_EMAIL;  break;          case "float":    $filter_id = FILTER_VALIDATE_FLOAT;  break;          case "int":    $filter_id = FILTER_VALIDATE_INT;  break;          case "ip":      $filter_id = FILTER_VALIDATE_IP;  break;          case "regex":    $filter_id = FILTER_VALIDATE_REGEXP;  break;          case "url":    $filter_id = FILTER_VALIDATE_URL;  break;                 }              return filter_input($input_type, $value, $filter_id);           }        function dateNow() {       return date("Y-m-d H:i:s");    }        private function setFields() {       $q = Database::execQuery("SHOW COLUMNS FROM `".$this->table."`");              while($data = mysql_fetch_array($q, MYSQL_ASSOC)) {          $this->{$data['Field']} = "";       }    }        private function getFields() {              $q = Database::execQuery("SHOW COLUMNS FROM `".$this->table."`");              $fields = array();       while($data = mysql_fetch_array($q, MYSQL_ASSOC)) {          $fields[] = $data;       }              return $fields;           }        private function getData() {       $query = Database::execQuery("SELECT * FROM `".$this->table."` WHERE `".$this->key_field."` = '".$this->key_value."'");       if(mysql_num_rows($query) == 1) {          $row = mysql_fetch_array($query, MYSQL_ASSOC);          foreach ($row as $key => $value) {             $this->{$key} = $value;          }                    /*          $foreignKeysQuery = Database::execQuery("SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '".DB_BASE."' AND CONSTRAINT_NAME != 'PRIMARY' AND TABLE_NAME='".$this->table."'");          $num = mysql_num_rows($foreignKeysQuery);          if($num > 0) {              while($dataForeign = mysql_fetch_array($foreignKeysQuery)) {                  $column = $dataForeign["COLUMN_NAME"];                  $this->{$dataForeign["REFERENCED_TABLE_NAME"]._object} = new View($dataForeign["REFERENCED_TABLE_NAME"], $row[$column],$dataForeign["REFERENCED_COLUMN_NAME"]);              }          } */       }    }        function debug($input) {       echo "<pre>";       var_dump($input);       echo "</pre>";    }         }

@Default

wishlist je običan podatak rekord, stavio sam mu varchar.

Ko je trenutno na forumu
 

Ukupno su 2255 korisnika na forumu :: 35 registrovanih, 4 sakrivenih i 2216 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 10x10.9, APS, brufen, BUDDAR70, celeron, Cicumile, Colt D, cyprus, dane007, Dare, debeli, Dimitrise93, Electron, Elvin, esx66, eulereix, Koser, lcc, luka35, mare2222, milanstankovic087, Mis uz pusku, mnn2, Nemanja Opalić, Podljub, radza1, Shajlok, Sharpshooter, Simonsen23, synergia, uruk, vathra, VBoss, Veless, zemljanin