castagir
8.03.2015, 10:37:06
Witam!
Jak zadać pytanie dla MySQL, żeby otrzymać odpowiedź jaką ma wersję hosta.
Na razie napisałem taki skrypt, lecz nie wiem dlaczego nic nie wyświetla.
try {
$polaczenieBD = new PDO('mysql:host='.$nazwaSerweraBD.';dbname='.$nazwaBD, $uzytkownikBD, $hasloBD);
} catch (PDOExeption $e) {
}
$pytanie = $polaczenieBD->prepare("SELECT VERSION() as wersja");
if($pytanie->execute()) {
echo 'Połączenie z bazą danych zostało wykonane!'; // tutaj wcześnie wpisywałem: while($w = $pytanie->fetch(PDO::FETCH_ASSOC)) { $wersjaMysql = $w['wersja']; } echo $wersjaMysql; }
else {
$odpowiedz .= '<p class="blad">Nie udało połączyć się z bazą danych!<br />Wypełnij pola jeszcze raz.</p>';
// echo $odpowiedz;
}
castagir
8.03.2015, 11:36:07
Wciąż nic.
Może problem leży w pytaniu?
Pyton_000
8.03.2015, 11:40:02
SHOW VARIABLES LIKE "%version%";
castagir
8.03.2015, 11:46:17
Nadal nic.
Zamiast %version% podstawić mam coś czy o co chodzi?
castagir
8.03.2015, 12:13:52
Właśnie nawet błędu nie pokazuje. Nie rozumiem w ogóle o co może chodzić.
Ogólnie wszystko przekazuję do skryptu js, który wyświetla go na stronie.
Pyton_000
8.03.2015, 12:18:19
Którego słowa nie zrozumiałeś?
"pokaż" czy "kod" ?
castagir
8.03.2015, 12:25:26
try {
$polaczenieBD = new PDO('mysql:host='.$nazwaSerweraBD.';dbname='.$nazwaBD, $uzytkownikBD, $hasloBD);
} catch (PDOExeption $e) {
echo ($e->getMessage());
}
$pytanie = $polaczenieBD->prepare("SHOW VARIABLES LIKE "%version%"");
$pytanie->execute();
$wynik = $pytanie->fetchAll();
echo $wynik;
robertpiaty
8.03.2015, 12:28:53
Przecież Ty jako odpowiedź dostajesz tablicę. Zamiast echo użyj print_r lub var_dump i wtedy zobacz co dostajesz w odpowiedzi.
castagir
8.03.2015, 12:37:20
Dostaje NIC, null, '', nothing, kein ding.
Żadna z tych metod, a gdy próbuję wpisać: SHOW VARIABLES LIKE "%version%", otrzymuję to
Notice: Use of undefined constant version - assumed 'version',
Warning: Division by zero,
Warning: Division by zero,
Może moje pytanie powinno brzmieć, czy w ogóle da się zapytać MySQL o wersję z poziomu PHP, lub czy może jest jakaś funkcja PHP, która to umożliwia?
robertpiaty
8.03.2015, 12:45:58
Zamień
$pytanie = $polaczenieBD->prepare("SHOW VARIABLES LIKE "%version%"");
na
$pytanie = $polaczenieBD->prepare('SHOW VARIABLES LIKE "%version%"');
castagir
8.03.2015, 15:05:39
Ok. To pomogło

Dzięki bardzo i pozdrawiam!