sql >> Databáze >  >> RDS >> Mysql

přepište adresy URL pro název produktu

Za prvé: máte chybu syntaxe. [0-9+] je třída znaků, která může odpovídat (i) číslicím v rozsahu 09 , nebo (ii) + podepsat. Chcete-li použít + jako kvantifikátor (jak bylo zamýšleno) přesuňte + za ] , třeba takto:([0-9]+) .

Za druhé: Používáte $2 ve vaší položce, což je název produktu. Pokud chcete použít ID, musíte použít $1 .

Zde je to, co musíte použít:

RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]

Přidal jsem čísla produktů, pomlčku a podtržítko pro případ, že to někdy budete potřebovat.

Za třetí: Měli byste si být vědomi sql injection , váš skript není bezpečný. Můžete to opravit pomocí mysql_real_escape_string .



  1. org.postgresql.util.PSQLException:Index sloupce je mimo rozsah:3, počet sloupců:2

  2. Analyzujte řetězec XML v MySQL

  3. pokud řádek1 =hodnota 1, aktualizujte další řádky

  4. apache mysql - pakety mimo provoz na 3306