PDO pripojenie do MySQL – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PDO  pripojenie do MySQL – PHP – Fórum – Programujte.comPDO pripojenie do MySQL – PHP – Fórum – Programujte.com

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
zelenac10
Stálý člen
22. 10. 2016   #1
-
0
-

Dobrý deň,

začal som sa na vaše odporučanie učiť PDO no ale nejdem mi pripojiť do databazy.

<?
define('SQL_HOST', 'db57.websupport.sk');
define('SQL_DBNAME', '7v0lfvjc');
define('SQL_USERNAME', '7v0lfvjc');
define('SQL_PASSWORD', '');

$dsn = 'mysql:dbname=' . SQL_DBNAME . ';host=' . SQL_HOST . '';
$user = SQL_USERNAME;
$password = SQL_PASSWORD;

try {
    $pdo = new PDO($dsn, $user, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die('Chyba spojenia: ' . $e->getMessage());
}
?>

Chybu vypisuje

SQLSTATE[HY000] [1045] Access denied for user: '7v0lfvjc@10.20.0.254' (Using password: YES)

heslo a meno je v poriadku.

Neviete kde robim chybu?

ďakujem

Nahlásit jako SPAM
IP: 188.121.182.–
8R.sk - Búracie a zemné práce
Řešení
zelenac10
Stálý člen
22. 10. 2016   #2
-
0
-
Vyřešeno Nejlepší odpověď

už som na to došiel pri websupporte musi byť zadaný aj port.

<?
define('SQL_HOST', 'db57.websupport.sk');
define('SQL_DBNAME', '7v0lfvjc');
define('SQL_USERNAME', '7v0lfvjc');
define('SQL_PORT', '3311');
define('SQL_PASSWORD', '');

$dsn = 'mysql:host=' . SQL_HOST . ';port='. SQL_PORT.';mysql:dbname=' . SQL_DBNAME . '';
$user = SQL_USERNAME;
$password = SQL_PASSWORD;

try {
    $pdo = new PDO($dsn, $user, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die('Chyba spojenia: ' . $e->getMessage());
}
?>
Nahlásit jako SPAM
IP: 188.121.182.–
8R.sk - Búracie a zemné práce
Kit+15
Guru
22. 10. 2016   #3
-
0
-

#2 zelenac1
Standardní port MySQL je 3306. Pokud je databáze na jiném portu, je nutné ho specifikovat.

Doporučuji define() nepoužívat, neboť to patří mezi zastaralé techniky.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
zelenac10
Stálý člen
1. 11. 2016   #4
-
0
-

Zdravim tak sa možem opytať či takto to už nie je zastarané?

class PripojeniePDO extends PDO
{  
   private $host = "";
   private $port = "";
   private $dbname = "";
   private $user= "";
   private $pass = "";
   
    public function __construct($host,$port,$dbname,$user,$pass)
    {
      try{
           parent::__construct("mysql:host=$host;port=$port;dbname=$dbname", $user, $pass);
           $this->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
           $this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
           $this->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);          
         }catch(PDOException $ex){
           $url = $_SERVER[HTTP_HOST];
           $urlPDO = "http://$url/error-pdo/?error=$ex";
           header( "Location: $urlPDO" );           
         }            
    } 
} 
Nahlásit jako SPAM
IP: 188.121.182.–
8R.sk - Búracie a zemné práce
Kit+15
Guru
1. 11. 2016   #5
-
0
-

#4 zelenac1
Zastaralé to není, ale je v tom pár chyb a několik odlišností od běžných zvyklostí:

  • Nemyslím si, že by bylo vhodné od PDO dědit. Kompozice je podle mne praktičtější
  • Databázi otvírám až tehdy, když to skutečně potřebuji. Použití dedičnosti tuto možnost zbytečně blokuje
  • Stačí mi jeden parametr konstruktoru mé třídy, ve kterém mám celou konfiguraci spojení
  • Nastavení atributu se dá udělat už v konstruktoru
  • "SET NAMES utf8" je SQL dotaz, je zbytečné ho takto nastavovat jako parametr
  • Při selhání připojení k databázi prostě vyhodím výjimku. Není důvod kvůlu tomu shodit celou aplikaci

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
zelenac10
Stálý člen
1. 11. 2016   #6
-
0
-

Ďakujem za rady

Nahlásit jako SPAM
IP: 188.121.182.–
8R.sk - Búracie a zemné práce
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Podobná vlákna

MySQL pripojenie — založil FanatiK

Zapis do MySQL + PDO — založil zelenac1

Databazove pripojenie — založil PaLaDiN

C# Pripojenie do databáze — založil Speeder

Pripojenie sa k Databazi — založil my_SQL_zaciatocnik_xD

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý