ID:               48290
 User updated by:  kexianbin at diyism dot com
 Reported By:      kexianbin at diyism dot com
 Status:           Wont fix
 Bug Type:         Feature/Change Request
 Operating System: Irrelevant
 PHP Version:      5.3.2
 New Comment:

Rasmus,

Why not have a think about adding addslash function to double-quoted
strings?
That maybe the simplest solution for variables replacement in sql query
string.

With the addslash function in double-quoted strings, we could code like
this:
$rs=$pdo->query("select *
                   from sem_SearchChangeShow
                   where Keyword={#Keyword}
                         and BatchNum={#BatchNum}
                         and OldChannelID={#ApvChannelID_old}
                         and OldCategoryID={#ApvCategoryID_old}
                 ");
$data=$rs->fetch(PDO::FETCH_ASSOC);

But, without it, we have to code like these:
$sql=$pdo->prepare("select *
                   from sem_SearchChangeShow
                   where Keyword=:Keyword
                         and BatchNum=:BatchNum
                         and OldChannelID=:ApvChannelID_old
                         and OldCategoryID=:ApvCategoryID_old
                 ");
$sql->execute(array(':Keyword'=>$Keyword,
                   ':BatchNum'=>$BatchNum,
                   ':ApvChannelID_old'=>$ApvChannelID_old,
                   ':ApvCategoryID_old'=>$ApvCategoryID_old
                  )
            );
$data=$sql->fetch(PDO::FETCH_ASSOC);

Please don't set the feature request to "won't fix".


Previous Comments:
------------------------------------------------------------------------

[2009-11-10 04:34:59] ras...@php.net

This is not going to happen.

------------------------------------------------------------------------

[2009-11-10 04:23:10] kexianbin at diyism dot com

Update expected version to 5.3.2

------------------------------------------------------------------------

[2009-11-10 04:12:30] kexianbin at diyism dot com

Try to reopen it.

------------------------------------------------------------------------

[2009-08-11 02:41:41] kexianbin at diyism dot com

Why set this as bogus?

Why don't you realize that the advantage of PHP is right the incredible
convenience for web programmers?!

For example, 'substr' is of the best design in all these languages:
java, sql, javascript, python, ruby, etc,
...substr($aStr,index_start,length(>=0)/index_after_end(<0))...
that is just the right PHP tradition.

I know PDO and prepared statements is ok,
but those method is really trivial and by no means intuitive.

Why don't you just make a little change to the variable parsing
function of the double quoted strings to save we programmers a very
enormous time wasting?

In fact, we have no way to reduce the code if we adopt PDO and prepared
statements, obviously every variable name apears twice(even apears as a
question mark):
$sql=$pdo->prepare("select *
                    from sem_SearchChangeShow
                    where Keyword=:Keyword
                          and BatchNum=:BatchNum
                          and OldChannelID=:ApvChannelID_old
                          and OldCategoryID=:ApvCategoryID_old
                  ");
$sql->execute(array(':Keyword'=>$v['Keyword'],
                    ':BatchNum'=>$v['BatchNum'],
                    ':ApvChannelID_old'=>$v['ApvChannelID_old'],
                    ':ApvCategoryID_old'=>$v['ApvCategoryID_old']
                   )
             );
$tmp=$sql->fetch(PDO::FETCH_ASSOC);

------------------------------------------------------------------------

[2009-08-10 13:15:25] j...@php.net

Or PDO.. :)

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/48290

-- 
Edit this bug report at http://bugs.php.net/?id=48290&edit=1

Reply via email to