• 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 (300 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

65,654 zapytań

112,282 odpowiedzi

236,928 komentarzy

46,645 pasjonatów

Przeglądających: 151
Pasjonatów: 1 Gości: 150

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.

...