| Autor | Zpráva | ||
|---|---|---|---|
| Erixx Profil |
#1 · Zasláno: 15. 10. 2012, 18:30:36
Zdravím vás,
prosím poradte mi, jak vnořit příkaz require "db.php"; místo $dbLink = new mysqli('localhost', 'db', 'pass', 'db');do tohoto scriptu na uload files, abych se v něm připojil k databázi pouze souborem db.php a nemusel vypisovat údaje k přihlášení k databázi. Děkuji moc za radu. <?php
// Check if a file has been uploaded
if(isset($_FILES['uploaded_file'])) {
// Make sure the file was sent without errors
if($_FILES['uploaded_file']['error'] == 0) {
// Connect to the database
$dbLink = new mysqli('localhost', 'db', 'pass', 'db');
if(mysqli_connect_errno()) {
die("MySQL connection failed: ". mysqli_connect_error());
}
// Gather all required data
$name = $dbLink->real_escape_string($_FILES['uploaded_file']['name']);
$mime = $dbLink->real_escape_string($_FILES['uploaded_file']['type']);
$data = $dbLink->real_escape_string(file_get_contents($_FILES ['uploaded_file']['tmp_name']));
$size = intval($_FILES['uploaded_file']['size']);
// Create the SQL query
$_POST[cas]=date(" j.n.Y ");
$query = "
INSERT INTO `download` (
`name`, `mime`, `size`, `data`
)
VALUES (
'{$name}', '{$mime}', {$size}, '{$data}'
)";
// Execute the query
$result = $dbLink->query($query);
// Check if it was successfull
if($result) {
echo '<b>OK, saved.';
}
else {
echo 'Error! Failed to insert the file'
. "<pre>{$dbLink->error}</pre>";
}
}
else {
echo 'An error accured while the file was being uploaded. '
. 'Error code: '. intval($_FILES['uploaded_file']['error']);
}
// Close the mysql connection
$dbLink->close();
}
else {
echo 'Error!';
}
?>
|
||
| Draffix Profil * |
#2 · Zasláno: 15. 10. 2012, 23:34:29
Pokud chápu dobře, tak stačí v db.php nadefinovat pouze konstanty např.:
if ($_SERVER["SERVER_ADDR"]=="127.0.0.1")
{
define("SQL_HOST","localhost");
define("SQL_DBNAME","jmenoDatabaze");
define("SQL_USERNAME","jmeno");
define("SQL_PASSWORD","heslo");
}
else
{ ... }A pak v kódu volat: require "db.php";
$dbLink = new mysqli('SQL_HOST', 'SQL_DBNAME', 'SQL_PASSWORD', 'SQL_USERNAME'); |
||
| shaggy Profil |
#3 · Zasláno: 15. 10. 2012, 23:42:55
Draffix:
Takto asi moc konštanty nezavolá: „$dbLink = new mysqli('SQL_HOST', 'SQL_DBNAME', 'SQL_PASSWORD', 'SQL_USERNAME');“ skôr: $dbLink = new mysqli(SQL_HOST, SQL_DBNAME, SQL_PASSWORD, SQL_USERNAME); |
||
| Erixx Profil |
Mně jde o to, pokud je to vůbec u tohoto případu možné,
zbavit se v kodu tohoto řádku: $dbLink = new mysqli('localhost', 'db', 'pass', 'db');require "db.php"; $dbLink = by měl být zachován, protože se ve scriptu níže poté znovu objevuje.
|
||
| Draffix Profil * |
#5 · Zasláno: 16. 10. 2012, 08:29:20
Erixx:
Tak pak vytvoř spojení v v db.php a do nového souboru dej jen require db.php. V jednom budeš mít jak hodnoty pro připojení tak i samotné připojení a ve druhém pak s databází/souborem pracovat |
||
| mimochodec Profil |
#6 · Zasláno: 16. 10. 2012, 09:25:26
Erixx:
> Mně jde o to, pokud je to vůbec u tohoto případu možné, > zbavit se v kodu tohoto řádku: Tak ten řádek dej ještě do toho db.php. Kde je problém? |
||
| Erixx Profil |
#7 · Zasláno: 16. 10. 2012, 09:29:44
Draffix:
V souboru db.php mám klasicky napojení na databázi.
Ale nevím, jak mám uvedený script napojit na databázi přes require "db.php";
Ten autor napojuje na databázi právě pomocí mnou nechtěného řádku $dbLink = new mysqli('localhost', 'db', 'pass', 'db');
|
||
| panther Profil |
#8 · Zasláno: 16. 10. 2012, 09:43:43
Erixx:
tak nechteny radek musi byt v db.php, kam podle nazvu souboru asi i patri. To uz tu nekdo psal. Pokud ho cely zkopirujes, tak v kodu za requirem bude v promenne $dbLink ono pripijeni k DB.
|
||
| Erixx Profil |
#9 · Zasláno: 16. 10. 2012, 09:49:38
OK,
problém vyřešen přidáním $dbLink = new mysqli('localhost', 'db', 'pass', 'db'); přímo do db.php
Děkuju všem za pomoc! |
||
| Draffix Profil * |
#10 · Zasláno: 16. 10. 2012, 09:53:15
Erixx:
Jak už psal panther, pokud do db.php vložíš skript pro připojení k databázi: $dbLink = new mysqli('localhost', 'db', 'pass', 'db');tak pak když uvedeš require db.php tak už budeš mít přímé připojení bez nutnosti psát znovu tvůj nechtěný řádek (už bude v db.php) |
||
| Erixx Profil |
#11 · Zasláno: 16. 10. 2012, 11:52:52
Draffix:
OK, už jsem to vyřešil přesně tímhle způsobem. Díky. |
||
|
Časová prodleva: 13 let
|
|||
0