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

vytvořit databázi pomocí pdo v php

Jsou zde dva velké problémy. První je vedlejší. Tyto řádky kódu nikdy nebudou fungovat:

$db->bindParam(1,`account`);
$db->bindParam(1,'$dbb'); //line 17

Je to proto, že se oba pokoušejí volat bindParam jako řetězec . To je nemožné. bindParam potřebuje odkaz na proměnnou. To je důvod, proč se zobrazí chyba „nelze předat parametr 2 odkazem“:můžete předat pouze proměnné odkazem.

Obojí z těchto by však fungovalo:

$db->bindParam(1, $dbb); // call bindParam on a variable
$db->bindValue(1, 'account'); // call bindValue on a string literal

Zásadnějším problémem je však vaše porozumění připraveným prohlášením. Myšlenka připravených prohlášení není jednoduchá záměna řetězců za jiný řetězec. Jde zásadně o oddělení struktury dotazu od dat. Název tabulky je považován za součást struktury dotazu, nikoli za součást dat. Název tabulky musíte vložit do původního dotazu. Váš první kód je způsob, jak to udělat.

$db = $conn->prepare( 'CREATE SCHEMA IF NOT EXISTS account');



  1. Vytvoření vysoce dostupné databáze pro Moodle pomocí PostgreSQL

  2. Neplatná výchozí hodnota pro 'Datum'

  3. Jaká je výchozí přesnost a měřítko pro číslo v Oracle?

  4. bodový graf v jfreechart z databáze