FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » adding a method to a built-in class ?
Show: Today's Messages :: Unread Messages :: Show Polls :: Message Navigator
| Subscribe to topic | Bookmark topic 
Switch to threaded view of this topic Create a new topic Submit Reply
adding a method to a built-in class ? [message #179467] Tue, 30 October 2012 08:05 Go to next message
Une Bvue[1] is currently offline  Une Bvue[1]
Messages: 9
Registered: September 2012
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
newbie to php5, i'd like to know if i could add a method to a built-in
class.

The purpose is to ass #to_sql() method to the String class.

#to_sql() would just replace any oiccurence of the character "'" by two
of it "''".
Re: adding a method to a built-in class ? [message #179468 is a reply to message #179467] Tue, 30 October 2012 08:38 Go to previous messageGo to next message
M. Strobel is currently offline  M. Strobel
Messages: 386
Registered: December 2011
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
Am 30.10.2012 13:05, schrieb Une Bévue:
> newbie to php5, i'd like to know if i could add a method to a built-in class.
>
> The purpose is to ass #to_sql() method to the String class.
>
> #to_sql() would just replace any oiccurence of the character "'" by two of it "''".

It looks like you want to program your own sql parameter substitution. You should
rather use the functions like mysqli::real_escape_string(), PDO::quote(), or use
prepared statements.



/Str.
Re: adding a method to a built-in class ? [message #179469 is a reply to message #179468] Tue, 30 October 2012 09:42 Go to previous messageGo to next message
Une Bvue[1] is currently offline  Une Bvue[1]
Messages: 9
Registered: September 2012
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
Le 30/10/2012 13:38, M. Strobel a écrit :
> It looks like you want to program your own sql parameter substitution. You should
> rather use the functions like mysqli::real_escape_string(), PDO::quote(), or use
> prepared statements.

fine, thanks a lot !
easier to work with ;-)
Re: adding a method to a built-in class ? [message #179474 is a reply to message #179467] Wed, 31 October 2012 06:09 Go to previous messageGo to next message
Gregor Kofler is currently offline  Gregor Kofler
Messages: 69
Registered: September 2010
Karma: 0
Member
add to buddy list
ignore all messages by this user
Am 2012-10-30 13:05, Une Bévue meinte:
> newbie to php5, i'd like to know if i could add a method to a built-in
> class.
>
> The purpose is to ass #to_sql() method to the String class.
>
> #to_sql() would just replace any oiccurence of the character "'" by two
> of it "''".

There is no such thing as a "string class" in PHP (apart from an
experimental SplString class). However, you can extend the already
mentioned Mysqli and Pdo classes and create subclasses tailored to your
needs.

Gregor
Re: adding a method to a built-in class ? [message #179475 is a reply to message #179474] Wed, 31 October 2012 10:08 Go to previous messageGo to next message
Une Bvue[1] is currently offline  Une Bvue[1]
Messages: 9
Registered: September 2012
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
Le 31/10/2012 11:09, Gregor Kofler a écrit :
> There is no such thing as a "string class" in PHP (apart from an
> experimental SplString class). However, you can extend the already
> mentioned Mysqli and Pdo classes and create subclasses tailored to your
> needs.
OK, fine, i'll be using $conn->quote($aString);
Thanks
Re: adding a method to a built-in class ? [message #179503 is a reply to message #179474] Fri, 02 November 2012 15:27 Go to previous message
Thomas 'PointedEars'  is currently offline  Thomas 'PointedEars'
Messages: 701
Registered: October 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
Gregor Kofler wrote:

> Am 2012-10-30 13:05, Une Bévue meinte:
>> newbie to php5, i'd like to know if i could add a method to a built-in
>> class.
>>
>> The purpose is to ass #to_sql() method to the String class.
>>
>> #to_sql() would just replace any oiccurence of the character "'" by two
>> of it "''".
>
> There is no such thing as a "string class" in PHP (apart from an
> experimental SplString class). However, you can extend the already
> mentioned Mysqli and Pdo classes and create subclasses tailored to your
> needs.

However, in this particular case that would be unwise, because that user-
defined to_sql() method would hardly be sufficient to escape string values
in SQL statements safely, and it would most likely be unnecessary to write
in the first place.

The OP should look into mysql_real_escape_string() if they have to use the
`mysql' extension, or learn about Prepared Statements (PS) if they can use
the `mysqli' extension or PDO, instead. A solution with PS is strongly
recommended.


PointedEars
--
Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network. -- Tim Berners-Lee
Quick Reply
Formatting Tools:   
  Switch to threaded view of this topic Create a new topic
Previous Topic: How do I turn on graphics (GD2) on a Windows 7 system?
Next Topic: Output status during processing
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Dec 13 06:04:16 EST 2017

Total time taken to generate the page: 0.00754 seconds