Im developing my own PHP Mysql site.
I used to fetch data by id like this : mysite.com/articles.php?id=12
now i want to change the url with slug:
mysite.com/articles/google-search
or
mysite.com/articles.php?article=google-search
I dont want to use id and numbers.
My table:
+----+---------------+---------+------------------------------------+
| id | title | article | urlslug |
+----+---------------+---------+------------------------------------+
| 12 | google search | xxxxxxx | google-search |
| 13 | bing yahoo | xxxxxxx | bing-yahoo |
| 14 | friendly seo | xxxxxxx | friendly-seo |
+-------------------------------------------------------------------+
I used the below code to get data by id:
$id = $_GET['id'];
$id = mysqli_real_escape_string($conn,$id);
$query = "SELECT * FROM `table` WHERE `id`='" . $id . "'";
$result = mysqli_query($conn,$query);
while($row = mysqli_fetch_array($result)) {
echo ($row['title']);
echo ($row['article']); }
I tried the above code by substituting urlslug it says Invalid ID specified.
I googled and even searched in stack questions i didnt get any help. Please assist me. Thanks in advance.
2
Answers
If url is like this
mysite.com/articles.php?article=google-search
then instead of
id
get thearticle
from url and change the condition tourlslug
instead of id.You can use the following rule in Root/.htaccess
This will rewrite
to