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? …
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(); ?> …
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 …
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 …
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 …
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 * …
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?
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));
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 …
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 …
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 …
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 …
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ą …
Czy istnieje sposób na wykonanie surowego ciągu SQL podczas wywoływania PDOStatement :: execute () na przygotowanej instrukcji? Byłoby to niezwykle przydatne do celów debugowania.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.