• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PDO prepare() nie działa

0 głosów
64 wizyt
pytanie zadane 6 czerwca w PHP, Symfony, Zend przez kamiz Użytkownik (780 p.)
Witam!

Strona będąc na moim hostingu wszystko działa jak powinno, lecz gdy dałem ją na inny hosting błąd jest z funkcją prepre(), czym to może być spowodowane?

Pozdrawiam
komentarz 6 czerwca przez Arkadiusz Waluk Ekspert (249,210 p.)
Treść błędu? Kod? Mamy zgadywać?
komentarz 6 czerwca przez kamiz Użytkownik (780 p.)

Nie wyskakuje żadna treść błędu jedynie dokończenie kodu:

 

prepare($sql); $statement->execute(); session_start(); $_SESSION['krok2'] = true; header("Location: ../krok2/"); exit; ?>

 

1 odpowiedź

0 głosów
odpowiedź 6 czerwca przez Arkadiusz Waluk Ekspert (249,210 p.)
Skoro wyświetlają się fragmenty kodu PHP to wygląda jakby serwer go nie interpretował. W źródle strony widoczny jest cały kod PHP? Inne pliki działają? Jakiś prosty plik PHP z samym echo działa?
komentarz 6 czerwca przez kamiz Użytkownik (780 p.)
tylko ten fragment się wyświetla, echo działa. Ale coś mi nie pasuje, że na innym hostingu działa, a na następnym nie. Inne instrukcje php działają oprócz od tego prepare
komentarz 6 czerwca przez Arkadiusz Waluk Ekspert (249,210 p.)
Gdyby miał jakiś problem z metodą prepare, powinien rzucić normalnie błąd lub wyrzucić białą stronę, gdyby błędy były wyłączone. Może masz coś ze znacznikami otwierającymi PHP i na jednym hostingu gdzie jest starsza wersja działa, a na drugim nie? Albo pliki nie są identyczne? Nie wiem, ciężko zgadywać, możesz pokazać cały kod z tego pliku jeszcze.
komentarz 6 czerwca przez kamiz Użytkownik (780 p.)

Właśnie zmieniałem na tym hostingu co działało wersje na starsza bo była najnowsza to tez działało a na tym drugim nie

 

<?

	$host = $_POST['host'];
	$n = $_POST['name'];
	$u = $_POST['user'];
	$p = $_POST['pass'];
	
	// inicjacja sesji
	session_start();

	// utworzenie zmiennej sesji
	$_SESSION['h'] = $host;
	$_SESSION['n'] = $n;
	$_SESSION['u'] = $u;
	$_SESSION['p'] = $p;
	
	$dsn = 'mysql:host='.$host.';dbname='.$n.'';
	$username = $u;
	$password = $p;
	$options = [];
	try {
	$connection = new PDO($dsn, $username, $password, $options);
	} catch(PDOException $e) {

	}
	
	$sql = "CREATE TABLE `Sklepy` (
                  `id` int(6) NOT NULL AUTO_INCREMENT,
                  `nazwa` longtext CHARACTER SET utf8 NOT NULL,
                  `host` longtext CHARACTER SET utf8 NOT NULL,
                  `port` longtext CHARACTER SET utf8 NOT NULL,
                  `haslo` longtext CHARACTER SET utf8 NOT NULL,
                  `zdjecie` longtext NOT NULL,
                  `query` longtext NOT NULL,
                  PRIMARY KEY (`id`)
                ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;";
				
	$statement = $connection->prepare($sql);
	$statement->execute();

	session_start();
	$_SESSION['krok2'] = true;
	
	header("Location: ../krok2/"); 
	exit;

?>

 

 

komentarz 6 czerwca przez Arkadiusz Waluk Ekspert (249,210 p.)
Zamień w 1 linii <? na normalne <?php. Pewnie na tym hostingu gdzie nie działa masz wyłączoną opcję short_open_tag w php.ini.
1
komentarz 8 czerwca przez kamiz Użytkownik (780 p.)
Dziękuję za pomoc

Podobne pytania

0 głosów
2 odpowiedzi 126 wizyt
0 głosów
1 odpowiedź 95 wizyt
0 głosów
1 odpowiedź 53 wizyt
pytanie zadane 21 czerwca w PHP, Symfony, Zend przez mknnn221 Początkujący (350 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

65,753 zapytań

112,389 odpowiedzi

237,306 komentarzy

46,699 pasjonatów

Przeglądających: 238
Pasjonatów: 18 Gości: 220

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...