Thanks Carlos
Matthew Zimmerman
mz34 at nyu.edu
Wed Sep 11 15:11:25 EDT 2002
I am quite new to all of this so this advice has been great.
Matt
On Wednesday, September 11, 2002, at 02:50 PM, Carlos A Hoyos wrote:
>
> 1- It's a good idea to use alias in the query to make it easier to
> read:
>
> $query= "SELECT images.id as imageid, format.id as formatid,
> format.name as
> formatname
> FROM images, format
> WHERE images.id=$id"; /* $id is a passed from a from*/
>
> 2- If you use extract, variables $imageid, $formatid and $formatname
> will
> have the expected values. You can also use
> $row["imageid"], $row["formatid"] and $row["formatname"], without
> having to
> use extract.
>
> 3- Just a side note: If you're building the query out of data received
> from
> the outside, take necessary precautions validating it, as well as
> handling
> any errors in case the resulting query is bad/empty.
>
> One backdoor to hack pages, for example, is to craft a URL to your page
> passing
> $id= "3; delete from mysql.user where 1=1" . If executed, this query
> could
> do some damage to your db.
>
>
>
>
>
>
> Matthew Zimmerman
> <mz34 at nyu.edu> To: NYPHP Talk
> <talk at nyphp.org>
> cc:
> 09/11/2002 01:25 Subject: [nycphp-talk]
> Printing from arrays.
> PM
> Please respond to
> talk
>
>
>
>
>
> Hello,
>
> Sorry if this is a RTFM question, but this list has been such a great
> resource I wanted to start here.
>
> Just a question about printing from an array using PHP/MySQL
>
> My real database and code is a little more complex then this, but to
> illustrate my problem let me say
>
> 1. I have two tables: "images" and "format". They each have two fields
> "id" and "name".
>
> 2. I have a query that says
>
> $query= "SELECT images.id, format.id, format.name
> FROM images, format
> WHERE images.id=$id"; /* $id is a passed from a from*/
>
> 3. Then I assign the results to an array using
>
> $result= mysql_query($query);
>
> while ($row=mysql_fetch_array($result)
>
> {
> extract($row);
>
> }
>
> 4. Then I want to print the results which I would think would go like
> this:
>
> echo "$images.id, $format.id, $format.name";
>
> But it seems these are not the keys in the array, but instead there is
> just one $id key and the value of that is whatever "id" came last in
> the query. In other words, if the query read "Select format.id,
> images.id" then there would be a value in the array for $id equal to
> "images.id" and if query read "Select images.id, format.id" then there
> would be a value in the array for the key $id equal to "format_id".
>
> I expected there would be two keys in the array: images.id and
> format.id
>
> Am I wrong to expect that?
>
> Thanks for any help. I am new to PHP and databases and this code I am
> using I got from a book, so maybe it is the wrong technique.
>
>
> Matt Zimmerman
> NYU
>
>
>
>
>
>
>
>
>
>
>
>
>
> --- Unsubscribe at http://nyphp.org/list ---
>
>
More information about the talk
mailing list