Jump to content
php.lv forumi

fanatos

Reģistrētie lietotāji
  • Posts

    18
  • Joined

  • Last visited

fanatos's Achievements

Newbie

Newbie (1/14)

  1. metode, kas saveido abjektus bija noimplementaata nepareizi. tas kas izsauca: public static function find_by_id($id=0) { global $mysqli; $object_array = static::find_by_sql("SELECT * FROM ".static::$table_name." WHERE album_id=".$mysqli->real_escape_string($id)." LIMIT 1"); return !empty($object_array) ? array_shift($object_array) : false; } pirms: public static function find_by_sql($sql="") { global $mysqli; $object_array = array(); $result = $mysqli->query($sql); $mysqli->confirm_query($result); while ($obj = $result->fetch_object()) { $object_array[] = $obj; } $result->close(); return $object_array; } peec: public static function find_by_sql($sql="") { global $mysqli; $members = array(); // get class name at runtime $class_name = get_called_class(); $class_attributes = static::attributes(); $result = $mysqli->query($sql); $mysqli->confirm_query($result); while ($obj = $result->fetch_object()) { // set new instances $member = new $class_name; foreach (array_keys($class_attributes) as $key) { $member->$key = $obj->$key; } $members[] = $member; } $result->close(); return $members; } bet tagad esmu nonaacis pie citas probleemas: cik es tagad palasiiju, tad statiskaas metodes nevar izmatot vaardu $this liidz ar to es netieku klaat dazziem klases atribuutiem.. ir kaads variants, kaa es vinnis vareetu tomeer ielasiit? protected static function attributes() { $attributes = array(); foreach( static::table_fields() as $field ) { $class_name = get_called_class(); if(property_exists($class_name, $field)) { $attributes[$field] = $field; [b]//$this->$field[/b] } } return $attributes; }
  2. labi, es laikam zinu kur ir probleema
  3. // atgiezz Album objektu $album = Album::find_by_id(1); // atribuuts straadaa echo $album->title; // metode nee $album->delete();
  4. class Photo{ ...... public function delete() { global $mysqli; $sql = "DELETE FROM " .static::$table_name; $sql .= " WHERE album_id =". $mysqli->real_escape_string($this->album_id); $sql .= " LIMIT 1"; $mysqli->query($sql); return ($mysqli->affected_rows == 1) ? true : false; } } $album->delete() REZUKLTAATS: Fatal error: Call to undefined method stdClass::delete() Varbuut kaads var pateikt, kas sheit ir par vainu?
  5. Varbuut kaads zina, kas vareetu izraisiit sekojoshu probleemu: http://localhost - viss straadaa kaa parati bet spiezzot taalaak uz http://localhost/phpmyadmin ielaadee baltu lapu... Apeche error log [Fri May 15 19:42:37 2009] [notice] Child 3648: Child process is running [Fri May 15 19:42:37 2009] [notice] Child 3648: Acquired the start mutex. [Fri May 15 19:42:37 2009] [notice] Child 3648: Starting 64 worker threads. [Fri May 15 19:42:37 2009] [notice] Child 3648: Starting thread to listen on port 80.
  6. izskatās, ka viss ir atkomentēts kam būtu jābūt, bet problēma jau ir tajā, ka viņš mapē meklē tādu failu, kāda tur nav, respektīvi -> php_pdo.dll Testa pēc pamēģināju iekopēt no 5.2.9 varsijas, bet tur uzreiz skaidrs, ka tā nevarēs: Module compiled with module API=20060613, debug=0, thread-safety=1 PHP compiled with module API=20071006, debug=0, thread-safety=1
  7. ko es vēl paskatījos: php.ini failā atradu šādu ierakstu: ; Directory in which the loadable extensions (modules) reside. extension_dir = "c:/wamp/bin/php/php5.3.0a3/ext/" bet nezin kāpēc tas atšķiras no path kas ir uz hdd -> iztrūkst domuzīme starp php5.3.0-a3 1) no sākuma LOG failā ir šāds ieraksts: [10-May-2009 23:32:42] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.0a3/ext/php_sqlite.dll' - The specified module could not be found. 2) bet ja pielieku to domuzīmi, tad atkal citas problēmas sākas [10-May-2009 23:33:55] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.0-a3/ext/php_pdo.dll' - The specified module could not be found. pirmajā gadījumā errors ir loģisks, jo viņš jau nemaz netiek līdz pareizajai direktorijai, bet kāpēc otrajā variantā viņš mēģina atrast tādu fails kāds tur nemz nav? Tas tās nepieciešamās kompilācijas dēļ?
  8. es redzu, ka tu saproti par ko runā, bet diemžēl (pagaidām) es vēl nē.. Līdz šim vienīgā darīšana ar wamp ir bijusi tā uzinstalācija un kodēšana.. bet ļoti noderētu Late Static Binding, kas ir iekš 5.3 versijas un tā es devos atkal uz wamp lapu, kur pie addons atradu, ko meklēju (http://www.wampserver.com/en/addons_dev.php). Tur dabūju instalāciju ... Varbūt tu varētu īsumā izstāstīt vai iemest kādu linku kā to kompilāciju taisa? vai arī kur ir sakompilēts mysqli extensions un kur viņš pēctam jāliek
  9. sorry, ka eng, bet wamp lapā neviens neatbildēja un pats netieku galā: today i decided to add extra php version to my wamp (PHP 5.3.0 Alpha 3) and then the problem showed up.. when i try to start phpMyAdmin i get msg: "Cannot load mysqli extension. Please check your PHP configuration", BUT when i switch back to 5.2.9.-2 version phpMyAdmin works again.. so WHY ????
  10. Jā, vienkārši ierakstot tekstu, piemēram, <p> ābols </p> viss ir kārtībā.
  11. Nē, pēdiņas šeit nav būtiskas (pat pārbaudīju). No sākuma abos virzienos gāja ķeburi, bet kad pieliku setUtf8() metodi vismaz datubāzē sākā rādīt, kā es to sagaidu -> 'folkehøyskole' , bet vēlāk atlasot joprojām kaut kas nav -> 'folkehøyskole' varbūt tas ir saistīts ar pašu html lapu? lai gan arī tur man ir : <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> un arī php.ini failā ieliku default_charset = "UTF-8" bet rezultāta nekāda. bet par to, ka potenciālās kļūdas ir jāapstrādā gala lietotājam 'draudzīgā veidā' es piekrītu. Bet die() man patīk lietot kamēr kodēju, ātrāk var atrast neuzmanības kļūdas SQL sintaksē :)
  12. Broblēma ir tāda, ka dati uz mySQL aizsūtās kā UTF-8 (un rādā pareizi iekš phpMyAdmin), bet vēlāk nolasot un izvadot html lapā sākās ķeburi.. fragments no DB konekijas klases: class MySQLiExtened extends mysqli { function __construct($host, $user, $pass, $db) { parent::__construct($host, $user, $pass, $db); if (mysqli_connect_error()) { die('Connection Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); } $this->setUtf8(); } public function setUtf8() { $sql = "SET NAMES 'utf8' "; $this->query($sql); //$this->confirm_query($sql); } varbūt kāds zinošāks var pateikt ko es daru nepareizi, ko vajadzētu paskatīties/pamainīt?
  13. Problēma ir sekojoša, man uz serveri atnāk datums formātā 'Apr 12 2009', bet MySQL man ir tabula ar lauku DATETIME, gribu iedabūt šo datumu tajā tabulā, bet kā jau DATETIME pasaka priekšā ir vajadzīgs arī laiks un laikam vajadzētu būt vienādam ar skripta izpildes laiku. Piemēram, ja skripts palaizas 15:42:13, tad būtu jāaizpilda 2009-04-12 15:42:13. Līdzigi kā strādā NOW() funkcija tikai ar datumu, kas atnācis uz serveri. Varbūt kāds zina labu risinājumu?
  14. jā šitais tiešām strādā :) Pirmo reizi šeit esmu un pie atb. ar ātri tiku, paldies.
×
×
  • Create New...