Pytania otagowane jako pdo

PDO (PHP Data Objects) to warstwa abstrakcji dostępu do danych (interfejs) dla PHP. Działa z większością systemów baz danych.

7
Czy instrukcje przygotowane przez PDO są wystarczające, aby zapobiec wstrzyknięciu SQL?
Powiedzmy, że mam taki kod: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); Dokumentacja ChNP mówi: Parametry gotowych instrukcji nie muszą być cytowane; kierowca obsługuje to za ciebie. Czy to naprawdę wszystko, co muszę zrobić, aby uniknąć zastrzyków SQL? …

21
Czy mogę powiązać tablicę z warunkiem IN ()?
Jestem ciekawy, czy możliwe jest powiązanie tablicy wartości z symbolem zastępczym za pomocą PDO. Przypadek użycia tutaj próbuje przekazać tablicę wartości do użycia z IN()warunkiem. Chciałbym móc zrobić coś takiego: <?php $ids=array(1,2,3,7,8,9); $db = new PDO(...); $stmt = $db->prepare( 'SELECT * FROM table WHERE id IN(:an_array)' ); $stmt->bindParam('an_array',$ids); $stmt->execute(); ?> …


13
mysqli lub PDO - jakie są zalety i wady? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

30
PDOException SQLSTATE [HY000] [2002] Brak takiego pliku lub katalogu
Wierzę, że udało mi się wdrożyć moją (bardzo podstawową) witrynę na fortrabbit, ale jak tylko połączę się z SSH w celu uruchomienia niektórych poleceń (takich jak php artisan migratelub php artisan db:seed) , pojawia się komunikat o błędzie: [PDOException] SQLSTATE[HY000] [2002] No such file or directory W pewnym momencie migracja …
319 php  mysql  laravel  pdo 

30
PDOException „nie można znaleźć sterownika”
Właśnie zainstalowałem Debian Lenny z Apache, MySQL i PHP i otrzymuję wyjątek PDO could not find driver. Jest to konkretny wiersz kodu, do którego się odnosi: $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS) DB_HOST, DB_NAME, DB_USER, I DB_PASSsą stałymi że mam zdefiniowane. Działa dobrze na …
292 php  mysql  pdo  lamp 

7
Czy instrukcje PHP PDO mogą zaakceptować nazwę tabeli lub kolumny jako parametr?
Dlaczego nie mogę przekazać nazwy tabeli do przygotowanej instrukcji PDO? $stmt = $dbh->prepare('SELECT * FROM :table WHERE 1'); if ($stmt->execute(array(':table' => 'users'))) { var_dump($stmt->fetchAll()); } Czy istnieje inny bezpieczny sposób wstawienia nazwy tabeli do zapytania SQL? Z sejfem mam na myśli, że nie chcę tego robić $sql = "SELECT * …
243 php  pdo 

23
Liczba wierszy z ChNP
Istnieje wiele sprzecznych ze sobą stwierdzeń. Jaki jest najlepszy sposób liczenia wierszy przy użyciu PDO w PHP? Przed użyciem PDO po prostu użyłem mysql_num_rows. fetchAll jest czymś, czego nie chcę, ponieważ czasami mam do czynienia z dużymi zestawami danych, więc nie jest dobry na mój użytek. Masz jakieś sugestie?
192 php  mysql  pdo 

10
PHP PDO: zestaw znaków, ustawić nazwy?
Miałem to wcześniej w moim normalnym połączeniu mysql_ *: mysql_set_charset("utf8",$link); mysql_query("SET NAMES 'UTF8'"); Czy potrzebuję go do PDO? A gdzie powinienem to mieć? $connect = new PDO("mysql:host=$host;dbname=$db", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
189 php  mysql  pdo 

8
Jakie są wady korzystania z trwałego połączenia w PDO
W PDO połączenie można ustawić na stałe za pomocą tego PDO::ATTR_PERSISTENTatrybutu. Zgodnie z instrukcją php - Trwałe połączenia nie są zamykane na końcu skryptu, ale są buforowane i ponownie używane, gdy inny skrypt żąda połączenia przy użyciu tych samych poświadczeń. Trwała pamięć podręczna połączeń pozwala uniknąć narzutów związanych z nawiązywaniem …
181 php  pdo 

30
Błąd migracji Laravel: Błąd składni lub naruszenie zasad dostępu: 1071 Podany klucz był za długi; maksymalna długość klucza to 767 bajtów
Błąd migracji w Laravel 5.4 z php artisan make:auth [Illuminate \ Database \ QueryException] SQLSTATE [42000]: Błąd składni lub naruszenie zasad dostępu: 1071 Podany klucz był za długi; maksymalna długość klucza to 767 bajtów (SQL: alter tabl e usersadd unique users_email_unique(email )) [Wyjątek PDO] SQLSTATE [42000]: Błąd składni lub naruszenie …

3
PDO pobierz ostatni wstawiony identyfikator
Mam zapytanie i chcę wstawić ostatni identyfikator. Identyfikator pola to klucz podstawowy i funkcja automatycznego zwiększania wartości. Wiem, że muszę użyć tego stwierdzenia: LAST_INSERT_ID() Ta instrukcja działa z zapytaniem takim jak to: $query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())"; Ale jeśli chcę uzyskać identyfikator za pomocą tego oświadczenia: $ID …
158 php  mysql  database  pdo 

22
Przygotowane PDO Wstawia wiele wierszy w jednym zapytaniu
Obecnie używam tego typu SQL w MySQL do wstawiania wielu wierszy wartości w jednym zapytaniu: INSERT INTO `tbl` (`key1`,`key2`) VALUES ('r1v1','r1v2'),('r2v1','r2v2'),... Przy odczytach dotyczących PDO, przygotowane instrukcje użytkowania powinny dać mi większe bezpieczeństwo niż statyczne zapytania. Chciałbym zatem wiedzieć, czy możliwe jest wygenerowanie „wstawiania wielu wierszy wartości jednym zapytaniem” z …

18
Jak debugować zapytania do bazy danych PDO?
Przed przejściem na PDO tworzyłem zapytania SQL w PHP, łącząc ciągi znaków. Jeśli wystąpił błąd składni bazy danych, mogłem po prostu powtórzyć końcowy ciąg zapytania SQL, wypróbować go samodzielnie w bazie danych i poprawić go, aż naprawię błąd, a następnie wstawić go z powrotem do kodu. Przygotowane wyciągi PDO są …
140 php  sql  pdo 


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.