Pereiti prie turinio

PHP paieska su kryngeliais ir SQL


Rekomenduojami pranešimai

Sveiki, niekaip nesiseka padaryti paprasto paiekos skriptuko kuris is duomenu bazes lenteles surastu duomenis ir juos atavaizduotu php.

pvz i sql irasius zodi Devil's per php jis ten atsiranda

Devil & # 3 9 ; s  

pavidalu, nu typo sql apsauga kiek suprantu. atliekant paieska su zodziu Devil's jokiu rezultatu nemeta, o atlikus paieska su zodziu

Devil & # 3 9 ; s  

rezultatai yra.

PHP kodas:

 

$text = str_replace("'","", $_GET['search']);

if($text == ''){
	$text = "Įveskite pavadinimą.";
}

Redagavo Undead
Nuoroda į pranešimą
Dalintis kituose puslapiuose

$text = htmlspecialchars($_GET['search']);

if($text == ''){
       $text = "Įveskite pavadinimą.";
}

 

neveikia, ismeta errora:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%' OR name2 LIKE '%'%'' at line 1

 

$text = htmlspecialchars($_GET['search']);

if($text == ''){
	$text = "Įveskite pavadinimą.";
}

$rows = dbcount("(*)", "table_name", "");	
$result = dbquery("SELECT * FROM table_name WHERE name LIKE '%$text%' OR name2 LIKE '%$text%'");

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Visu pirma tai mysql neturi budo kaip susidoroti su html entities. Visu antra - nedek teksto su entities i DB nes tai kvaila ir turesi problemu veliau su consistency.

 

Geriausia ka galiu pasiulyti, tai pasikoreguoti apacioje esanti koda ir istaisyti klaidas DB:

$tables = array('users', 'users_more', 'users_extra', 'forum_posts', 'posts_edits', 'forum_threads', 'orders', 'product_comments', 'products', 'favourites', 'blocked', 'notes');
foreach($tables as $table)
   {       
       $sql = "SELECT * FROM {$table} WHERE data_date_ts < '{$encode_cutoff}'";
       $rows = $database->query($sql);
       while($row = mysql_fetch_assoc($rows))
           {
               $new = array();
               foreach($row as $key => $data)
                   {
                       $new[$key] = $database->escape_value(html_entity_decode($data, ENT_QUOTES, 'UTF-8'));
                   }
               array_shift($new);
               $new_string = "";
               $i = 0;
               foreach($new as $new_key => $new_data)
                   {
                       if($i > 0) { $new_string.= ", "; }
                       $new_string.= $new_key . "='" . $new_data . "'";
                       $i++;
                   }
               $sql = "UPDATE {$table} SET " . $new_string . " WHERE id='" . $row['id'] . "'";
               $database->query($sql);
               // plus some code to check that all out
           }
   }

Redagavo Ispirit
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...