Re: Noobie starting to learn OOP for databases needs help
| From: | dealTek | Date: | Mon, 17 Dec 2012 00:20:37 +0000 |
| Subject: | Re: Noobie starting to learn OOP for databases needs help | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-319902@lists.php.net to get a copy of this message | ||
On Dec 16, 2012, at 10:08 AM, Sebastian Krebs <krebs.seb@gmail.com> wrote:
> 2012/12/16 dealTek <dealtek@gmail.com>
>
>> Hi all,
>>
>> Noobie starting to learn oop for databases from here:
>>
>>
>>
>> https://github.com/JeffreyWay/PHP-MySQL-Database-Class/blob/master/MysqlDb..php
>>
>> I've got lots working but have a few issues:
>>
>> 1 - after an insert I'd like to get the id of the new record and I'm not
>> sure how to get that...
>>
>> mysql_insert_id (depricated?) or mysqli_insert_id() (I am using mySql 5.3)
>>
>> not sure where to add this... (most likely in MysqlDb.php but I don't know
>> where or how...)
>>
>
> Instead of "true" let insert() return the id.
>
> And while looking at your code:
> - You wrote in your DocBlocks, that the methods returns a boolean 0 or 1.
> Beside that this is wrong (0 or 1 are integers) you return either 'true' or
> nothing. You should return 'false' as well.
> - Returning a boolean to indicate the success of a method only makes sense,
> when "not successful" is a valid case, but I guess when 'delete()' fail it
> not be treatened as "normal". You should throw an Exception instead. This
> also includes: It's not required, that a method returns something in every
> case. If "delete()" for example doesn't have to tell something, it
> shouldn't.
>
>
>>
>> http://de.php.net/manual/en/function.mysql-insert-id.php
>>
>> 2 - how does one do aggrigate select queries like "SELECT SUM(price) FROM
>> mytable" ... what I tried seemed to fail...
>>
>
> Nothing "seems to fail" ;) Either it fails, or not (or it just doesn't
> behave, like expected, what I see as "fail" too). So what happens?
>
Hi Sebastian,
Of course you're right.... well it does fail here...
when I try a page with this...
$results = $db->query('SELECT SUM(price) FROM tbl_1218');
the error is....
Fatal error: Problem preparing query in /Users/me/Sites/db/test/sqldb.php on line 281
/**
* Method attempts to prepare the SQL query
* and throws an error if there was a problem.
*/
protected function _prepareQuery()
{
//echo $this->_query; rev this is now fixed with this update
if (!$stmt = $this->_mysql->prepare($this->_query)) {
trigger_error("Problem preparing query", E_USER_ERROR); <<<<<---
this is line 281
}
return $stmt;
}
>
>>
>>
>> And if anyone can point to some good OOP training URL's I'd appreciate it.
>>
>> Thanks in advance for any assistance...
>>
>>
>>
>>
>>
>>
>>
>> --
>> Thanks,
>> Dave - DealTek
>> dealtek@gmail.com
>> [db-12]
>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
>
> --
> github.com/KingCrunch
--
Thanks,
Dave - DealTek
dealtek@gmail.com
[db-12]