Re: SQL - help and a little clarity

Yes there is a way of doing this like you examplified, but I don't know that 
syntax that uses a "undef" as a first value, because I never liked it and I 
never use it.

I usually do it in 2 steps, for beeing consistent and similar to the one used 
for selection:

my $sth = $dbh->prepare("delete from table_name where username=? and 
password=?");
$sth->execute($user, $pass);

I usually use the do() method only when no results are needed and no variables 
need to be sent, like when creating the tables of the database, or when I need 
to delete rows based on a condition that doesn't requires variables.

Octavian

----- Original Message ----- 
From: "Lamar Upshaw" <lupshaw@xxxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, July 30, 2008 9:14 AM
Subject: Re: SQL - help and a little clarity


> Thank you for your help.  Now, when it comes to having the perl script 
> taking a direct action that changes information in the table, in this case, 
> deleting a row off the table, is the syntax something like this?
> 
>      $sth = $dbh->do("DELETE FROM table WHERE USERNAME=? AND DATE=? AND 
> TIME=?)", undef, $username,$date,$time);
> 
> Thanks again for your help.
> 
> With All Respect,
> Upshaw, Lamar T
> 
> ----- Original Message ----- 
> From: "Octavian Rasnita" <orasnita@xxxxxxxxx>
> To: <programmingblind@xxxxxxxxxxxxx>
> Sent: Monday, July 28, 2008 1:13 AM
> Subject: Re: SQL - help and a little clarity
> 
> 
> Your syntax is correct.
> 
> To do it from a perl program, you can do it in more ways. The one I use, 
> because it also avoids SQL injections is:
> 
> my $dbh = DBI->connect("dbi:mysql:database=test", "user", "pass");
> 
> my $sth = $dbh->prepare("select * from table_name where name=? and date=? 
> and time=?");
> $sth->execute($name, $date, $time);
> 
> while (my $row = $sth->fetchrow_hashref) {
> print qq~
> name: $row->{name}
> email: $row->{email}
> date: $row->{date}
> ~;
> }
> 
> or you can loop using other data collections than a hash reference:
> 
> array:
> 
> while (my @row = $sth->fetchrow_array) {
> print qq~
> name: $row[0]
> email: $row[1]
> date: $row[2]
> ~;
> }
> 
> array reference:
> 
> while (my $row = $sth->fetchrow_arrayref) {
> print qq<
> name: $row->[0]
> email: $row->[1]
> date: $row->[2]
>>;
> }
> 
> I've wrote this code directly in OE, so it is not tested.
> And, don't use the ";" in your SQL commands as you use it in the mysql 
> command line client.
> 
> As you can see, in Perl you can include in strings array and hash elements, 
> but you could also dereference and include hash reference and array 
> reference elements.
> 
> Octavian
> 
> ----- Original Message ----- 
> From: "Lamar Upshaw" <lupshaw@xxxxxxxxxxxxxx>
> To: <programmingblind@xxxxxxxxxxxxx>
> Sent: Monday, July 28, 2008 9:45 AM
> Subject: SQL - help and a little clarity
> 
> 
>>I am trying to have MySQL give information based on multiple conditions
>> being met. I remember how to do it with one:
>> select * from table where username='tigger';
>>
>> But I'd like to do it with more conditions, something like this:
>>
>> select * from table where username='tigger' and date='2008-07-28' and
>> time='11:41:56';
>>
>> Can someone assist me with what would be the correct syntax? I know this 
>> is
>> a simple one, but it's escaping me at the moment.
>>
>> PS. I'm using perl to connect to the MySQL database using the DBI().  I'm
>> not sure what difference that will make, except to say that the three
>> conditions that need to be met will be from variables passed on from perl.
>>
>> Thanks for any help.
>>
>> With All Respect,
>> Upshaw, Lamar T
>>
>> __________
>> View the list's information and change your settings at
>> http://www.freelists.org/list/programmingblind
>>
> __________
> View the list's information and change your settings at
> http://www.freelists.org/list/programmingblind
> 
> __________
> View the list's information and change your settings at 
> http://www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at
http://www.freelists.org/list/programmingblind

Other related posts: