Vytvoření db scriptem – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vytvoření db scriptem – MySQL – Fórum – Programujte.comVytvoření db scriptem – MySQL – Fórum – Programujte.com

 

lubos
~ Anonymní uživatel
95 příspěvků
13. 7. 2015   #1
-
0
-

Ahoj , když vytvořím databázi v admineru ručně tak se k ní scriptem vpohodě připojím ,ale když ji vytvořím scriptem tu DB tak se nepřipojím - chyba unknown database-, všiml jsem si rozdílu , když ji tvořím ručně tak se DB jmenuje lubos ale když ji vytvořím scriptem tak se jmenuje 'lubos' jde o ty apostrofy zde přikládám kod:

$query = "CREATE DATABASE `?` CHARACTER SET `utf8` COLLATE `utf8_czech_ci`"; 
$value ="lubos";
...

popis chyby :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1049] Unknown database 'lubos'' in C:\Complex-Web-Server\www\model\,...

Také jsem si všiml že pokud mám databazi 'lubos' s apostrofama tak mužu ručně vytvořit databazi lubos bez uvozovek a nehodí to žádnou chybu , jde o různé databaze - má otázka je jak zabráním tomu aby se mi při vytváření DB scriptem nevnucovaly ty apostrofy, předem dík

Nahlásit jako SPAM
IP: 89.103.9.–
lubos
~ Anonymní uživatel
95 příspěvků
13. 7. 2015   #2
-
0
-

#1 lubos
ještě doplním mysql ver. 5.5

pripojovaci kod

class Install 
{
  private $spojeni;
  public $obsah;
  function __construct($host,$user,$pass,$name){
    $options=array(
     PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
		PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
      );
    $this->spojeni= @new PDO("mysql:host=$host;dbname=$name",$user,$pass,$options);
...
...
...
Nahlásit jako SPAM
IP: 89.103.9.–
Kit+15
Guru
14. 7. 2015   #3
-
0
-

#1 lubos
Otazník se nedává do zpětných apostrofů. Tady však otazník použít nesmíš. Zkus to takhle: 

$query = "CREATE DATABASE `lubos` CHARACTER SET `utf8` COLLATE `utf8_czech_ci`";

nebo ještě lépe takhle: 

$query = "CREATE DATABASE lubos CHARACTER SET utf8 COLLATE utf8_czech_ci";

Pokud bys ten název chtěl vkládat jako proměnnou, tak to také jde: 

$dbName = "lubos";
$query = "CREATE DATABASE `$dbName` CHARACTER SET utf8 COLLATE utf8_czech_ci";

Tady je použití zpětných apostrofů již vhodné.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
lubos
~ Anonymní uživatel
95 příspěvků
14. 7. 2015   #4
-
0
-

#3 Kit
Dík za odpověď , jsem rád že mi odpovídáš zrovna ty ,já se totiž snažím vytvořit DB pomocí PDO prepare() z tvého návodu na itnetwork - http://www.itnetwork.cz/…-a-modularne, a právě protože to chci zkusit pomocí prepare() tak tam mám ten otazník za který chci dosadit název DB lubos. Jak by to vypadal kód pro vytvoření DB v tvém PDO tutoriálu předem dík.

Nahlásit jako SPAM
IP: 89.103.9.–
lubos
~ Anonymní uživatel
95 příspěvků
14. 7. 2015   #5
-
0
-

#4 lubos
jinak , zkoušel jsem tvoje řešení a všechny vytvorily DB bez apostrofu , ale já bych to přeci jen chtěl s využitím PDO prepare() .

Nahlásit jako SPAM
IP: 89.103.9.–
Kit+15
Guru
15. 7. 2015   #6
-
0
-

#5 lubos
Tady také můžeš použít prepare(), ale otazník nemůžeš použít místo názvu - tedy názvu databáze, tabulky, sloupce nebo proměnné. Vždy jen místo dat.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Kit+15
Guru
15. 7. 2015   #7
-
0
-

#4 lubos
Jinak zmíněný článek je z mého pohledu již zastaralý, od té doby jsem se posunul o dost velký kus dál a novou verzi jsem už úspěšně použil v komerční aplikaci. Připravuji nový článek, který však budu publikovat jinde.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
lubos
~ Anonymní uživatel
95 příspěvků
15. 7. 2015   #8
-
0
-

#7 Kit
dík za odpovědi ale asi neprozradis kde? vid? :-)

Nahlásit jako SPAM
IP: 89.103.9.–
Kit+15
Guru
15. 7. 2015   #9
-
0
-

#8 lubos
V tuto chvíli to ještě nevím. Vždycky si vybírám mezi zdrojak.cz, root.cz nebo abclinuxu.cz podle toho, kam to tématicky zapadne nejlépe. Možná mezitím najdu vhodnější portál - to zatím také nevím.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
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, 3 hosté

Podobná vlákna

Pomoc se scriptem — založil turbo-snek

Problem ze scriptem — založil Majký

Pomoc s php scriptem — založil jonmar679

 

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