mysql_escape mysql_escape...

PHPportalen Forum Index » PHP Mjukstart
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
matshell



Medlem i: 4503 dagar

Status: Offline



#742122
Inlägg Skrivet: 2018-02-22 15:45      Ämne: mysql_escape mysql_escape... Citera

Har bytt webbhotell och uppenbarligen php-version, vilket jag antar är det som ställer till det. Har en sida med bl a följande kod som inte fungerar efter bytet:
PHP:
1:
 $result mysql_query("SELECT * FROM
2:
                       utbdag13 
3:
                       WHERE stad='".mysql_real_escape_string($_GET['stad'])."'
4:
                       ORDER BY id ASC'"); 

- som jag nu vill ändra till mysqli_real_escape_string. Verkar som den fungerar på ett annorlunda sätt jf med mysql. Hur ska jag skriva?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4738 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742123
Inlägg Skrivet: 2018-02-22 15:54      Ämne: Citera

Misstänker att du har hamnat på ett hotell där PHP version 7 används.

Så måste du justera all kod som använder mysql_* funktioner.

Som sagt mysqli kan användas som drop in replacement med lite små justeringar, bla så kräver mysqli_real_esacpe_string att du skickar med din anlsutning du skapat tidigare.
PHP:
1:
 string mysqli_real_escape_string mysqli $link string $escapestr 


En annan variant du kan testa är om hotellet tillåter nedgradering till php version 5 till du fått ordning på din kod.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
matshell



Medlem i: 4503 dagar

Status: Offline



#742125
Inlägg Skrivet: 2018-02-22 17:19      Ämne: Citera

Tack!
Ja, version 7.1.14. Hittar inte att det går att nedgradera till 5.
Om jag förstår dig rätt så är $link samma variabel som jag har tidigare på sidan?
Och $escapestring, är det där som $GET-delen ska in...?? Förstår inte hur detta ska skrivas...
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4738 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#742126
Inlägget är accepterad som det rätta svaret Skrivet: 2018-02-22 18:44      Ämne: Citera

$link i detta fallet ovan innehåller resultatet ifrån mysqli_connect(). Du har idag en motsvarande mysql_connect någonstans.

Exempel:
PHP:
1:
<?php
2:
 
3:
$link mysqli_connect("127.0.0.1""my_user""my_password""my_db");
4:
 
5:
$foo mysqli_real_escape_string($link,$_GET['bar']);


Som sagt du måste ändra ALLA dina anrop som görs med mysql_* till funktioner med mysqli_* i din kod.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
matshell



Medlem i: 4503 dagar

Status: Offline



#742127
Inlägg Skrivet: 2018-02-23 14:12      Ämne: Citera

Tack försvaret, och sedan jag också fick ordning på " och ' så fungerar det nu som avsett!
Ja, övriga mysql_ har jag ändrat till mysqli_ men de ställde inte till något problem vad jag sett.
Tack.
/Mats
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP Mjukstart
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic