how do i add an image path to a mysql table of mine which has "product image" as a field.
i have saved the necessary images to images folder in root folder as well...
please help!

Recommended Answers

All 4 Replies

Please give more information. As for example, do you need to hardcode the paths or do you need it to be dynamic so you can upload the path/image to mysql via php?

no im still beginning learining php, if for example i have an items table, one of the fields in it is "images"
so what is the syntax
INSERT INTO items WHERE images
VALUES <how do i right the path>

is it a relative path or an absolute path?
can i add an image from anywhere in the machine or does it have to be from the images folder in my htdocs project folder

no im still beginning learining php, if for example i have an items table, one of the fields in it is "images"
so what is the syntax
INSERT INTO items WHERE images
VALUES <how do i right the path>

is it a relative path or an absolute path?
can i add an image from anywhere in the machine or does it have to be from the images folder in my htdocs project folder

You should have an image folder in the project folder. If you need to get it from anywhere in the machine it is a whole different story. Also, if you are getting just the filepath from somewhere on your machine instead of the project's public folder, nobody else is going to be able to see that image. So you need the image path to come from the public folder.

If you put the images in your images folder then you will need to store the path of each image you want to save in the table as a string, and then INSERT INTO items (image) VALUES ($image_path); or something like that.

Now, what you need to figure out is how to get the path in a variable basically. You can create a "browse for files" with Javascript, and then use what Javascript gets to POST the filepath as a variable and then store it in $image_path so you can use it as I mentioned before.

I hope this helps, sorry I can't really help with the JavaScript part that much, as I am not an expert on that and I would probably confuse you more. Maybe someone else can comment on that bit though.

Member Avatar for diafol

I'd suggest that you only use one main folder for images anyway. This then obviates the need for conditional rename functions.

Use the public document root (html) as opposed to the virtual document root (php) when storing the data. This means that if you change server, the folders will still be valid.

e.g.
'image' datum could be "/images/coolstuff/mypicky.jpg" (absolute reference to public root)

If you change your folder structure (or think it could change), reconfiguring paths in a DB can be a real pain. One (and I mean just one) way of doing this is to have a config.php file as an include file in each of your pages. This file typically contains db connection data and other important variables and constants.

You could have this:

$imageroot = "/images/";

which then gives you the freedom to store images as: "coolstuff/mypicky.jpg"

Whenever an image path is taken from the DB, just prepend the $imageroot:

$img = $imageroot . $row['image'];

If you now decide that the image folder needs to be moved below another folder, e.g. to "/media/images/...", you just need to change the value in the config.php file and not worry about your DB values.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.