Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Instalator nie wgrywa nic do bazy, czemu?
Forum PHP.pl > Forum > Bazy danych > MySQL
kuldi
Witam serdecznie.
Mam dylemat odnośnie jednego skryptu, próbowałem wgrywać go zarówno na localhost jak i na vps od ovh. Na localhost dochodziłem do łączenia się z bazą danych i wywalało biały ekran, na vps instalacja niby przebiegła prawidłowo niestety nie dodawało nic do bazy danych mimo prawidłowego połączenia.
Ten kawałek kodu odpowiada za dodawanie zawartości do bazy, powiedzcie mi czy tu jest jakiś błąd?
  1. /** Instalowanie bazy danych **/
  2.  
  3. $conn = new mysqli($_SESSION['cfg']['db']['host'].":".$_SESSION['cfg']['db']['port'], $_SESSION['cfg']['db']['user'], $_SESSION['cfg']['db']['pass'], $_SESSION['cfg']['db']['name']);
  4. if(!$dbsel) {
  5. $conn->query("CREATE DATABASE ".$_SESSION['cfg']['db']['name'].";");
  6. }
  7. $conn->query("SET NAMES UTF8");
  8.  
  9. // Instalowanie tabel
  10. if(file_exists("./sql/table.sql") == FALSE) {
  11. die("Wystąpił nieoczekiwany błąd. Brak pliku /install/sql/table.sql");
  12. }
  13. if(file_exists("./sql/data.sql") == FALSE) {
  14. die("Wystąpił nieoczekiwany błąd. Brak pliku /install/sql/data.sql");
  15. }
  16. $sqlquery = file_get_contents("./sql/table.sql");
  17.  
  18. $sqlquery = str_replace("//prefix//" , $_SESSION['cfg']['db']['prefix'] , $sqlquery);
  19. //$sqlquery = implode("\r\n" , $sqlquery);
  20. $sqlquery = explode("//end//" , $sqlquery);
  21.  
  22. if(is_array($sqlquery)) {
  23. foreach($sqlquery as $item) {
  24. if(strlen($item)>2) { $conn->query($item); }
  25. }
  26. }
  27.  
  28. // Instalowanie danych
  29. $sqlquery = file_get_contents("./sql/data.sql");
  30.  
  31. $sqlquery = str_replace("//prefix//" , $_SESSION['cfg']['db']['prefix'] , $sqlquery);
  32. //$sqlquery = implode("\r\n" , $sqlquery);
  33. $sqlquery = explode("//end//" , $sqlquery);
  34.  
  35. if(is_array($sqlquery)) {
  36. foreach($sqlquery as $item) {
  37.  
  38. if(strlen($item)>2) { $conn->query($item); }
  39. }
  40. }
  41.  
  42. if(!$conn->error) {
  43. $smarty->assign("sql" , false);
  44. } else {
  45. $smarty->assign("sql" , $conn->error);
  46.  
  47. $sqlquery = file_get_contents("./sql/table.sql");
  48. $sqlquery = str_replace("//prefix//" , "" , $sqlquery);
  49. $sqlquery = str_replace("//end//" , "" , $sqlquery);
  50. $smarty->assign("sql1" , html_entity_decode($sqlquery));
  51.  
  52. $sqlquery = file_get_contents("./sql/data.sql");
  53. $sqlquery = str_replace("//prefix//" , "" , $sqlquery);
  54. $sqlquery = str_replace("//end//" , "" , $sqlquery);
  55. $smarty->assign("sql2" , html_entity_decode($sqlquery));
  56. }
markuz
Tu może być "na oko" 20-30 błędów, może też nie być żadnego.
"wywalało biały ekran" - zazwyczaj tak się dzieje, jak jest jakiś krytyczny błąd a masz wyłączone raportowanie błędów.
ResearchIT
Sprawdź na początek, czy masz właśnie włączone raportowanie błędów, spróbuj sprawdzić też błędy funkcją mysql_error
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.