Re: SQL - help and a little clarity
- From: "Octavian Rasnita" <orasnita@xxxxxxxxx>
- To: <programmingblind@xxxxxxxxxxxxx>
- Date: Wed, 30 Jul 2008 10:05:05 +0300
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
- References:
- SQL - help and a little clarity
- From: Lamar Upshaw
- Re: SQL - help and a little clarity
- From: Octavian Rasnita
- Re: SQL - help and a little clarity
- From: Lamar Upshaw
Other related posts:
- » SQL - help and a little clarity
- » Re: SQL - help and a little clarity
- » Re: SQL - help and a little clarity
- » Re: SQL - help and a little clarity
- SQL - help and a little clarity
- From: Lamar Upshaw
- Re: SQL - help and a little clarity
- From: Octavian Rasnita
- Re: SQL - help and a little clarity
- From: Lamar Upshaw