![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.11.2003 Skąd: Stargard Ostrzeżenie: (0%) ![]() ![]() |
Napisałem sobie klase do zarządzania mysql`em, na podstawie teskstu o sterowniku mysql na webcity... Tylko jest jeden problem.. Jedna z funkcji która mnie najbardziej interesuje nie działa a mianowicie mysql_num_rows :?
Tu kod mojej klasy: [php:1:24988450df] <? //lib_mysql.php class db { //openc var $connect_id; var $db_name; var $query_result; function db($db_host, $db_name, $db_user, $db_pass) { //openf db $this->connect_id = @mysql_connect($db_host, $db_user, $db_pass); if($this->connect_id) { $dbselect = @mysql_select_db($db_name, $this->connect_id); if($dbselect) { $this->db_name = $db_name; return true; } else { $this-> _error('dbselect'); mysql_close($this->connect_id); return false; } } else { $this -> _error('connect'); return false; } //closef db } function query($query) { //openf query $this->query_result = @mysql_db_query($this->db_name, $query, $this->connect_id); if(!$this->query_result) { $this-> _error('query'); return false; } else { return true; } //closef query } function fetch_array($query_result = ''){ //openf fetch_array $query_result = (empty($query_result)) ? $this -> query_result : $query_result; $array = mysql_fetch_array($query_result); if($array) { return $array; } else { return false; } //closef fetch_array } function num_rows($query_result = ''){ //openf num_rows $query_result = (empty($query_result)) ? $this -> query_result : $query_result; $numrows = mysql_num_rows($query_result); if($array) { return $numrows; } else { return false; } //closef num_rows } function close() { //openf close $dbclose = @mysql_close($this->connect_id); if($dbclose) { return true; } else { $this-> _error('close'); return false; } //closef close } function _error($type) { //openf _error $text = "<H2>Mysql Error</H2><BR>"; switch($type) { case 'connect': $text .= 'Wystąpił błąd podczas łączenia się z serwerem baz danych'; break; case 'dbselect': $text .= 'Wystąpił błąd podczas wybierania bazy danych'; break; case 'query': $text .= 'Wystąpił błąd podczas wykonywania zapytania SQL'; break; case 'dbclose': $text .= 'Wystąpił błąd podczas zamykania sesji MySQL'; break; default: $text .= 'Ogólny błąd MySQL'; } $text .= '!<hr>MySQL said: <i>' . mysql_error() . '</i>'; die($text); } //closef _error } //closec db ?> [/php:1:24988450df] A wszystko wywołuję w te sposób: [php:1:24988450df]<?php require("incl/lib_mysql.php"); $db = new db("localhost", "nplay", "root", "krasnal"); $db->query("select * from category"); while($row = $db->fetch_array()){ //openw echo "id: ".$row["id"]." name: ".$row["name"]."<BR>"; //closew } echo"Wyniki: ". $db->num_rows(); ?>[/php:1:24988450df] Wszystko działa gites, ale nie pechowe num_rows... Czy ktoś móglby mi wytłumaczyć jak zrobić aby to działało.... |
|
|
![]()
Post
#2
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
[php:1:755fbd0874]<?php
$numrows = mysql_num_rows($query_result); if($array) { return $numrows; } else { return false; } ?>[/php:1:755fbd0874] Zamiast tego (skąd sie wzieła zmienna $array?!) daj: [php:1:755fbd0874]<?php return mysql_num_rows($query_result); ?>[/php:1:755fbd0874] I będzie ok. -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 06:50 |