«pdo» 태그된 질문

PDO (PHP Data Objects)는 PHP 용 데이터 액세스 추상화 계층 (인터페이스)입니다. 대부분의 데이터베이스 시스템에서 작동합니다.

7
PDO 준비 명령문은 SQL 삽입을 방지하기에 충분합니까?
다음과 같은 코드가 있다고 가정 해 봅시다. $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); PDO 문서는 다음과 같이 말합니다. 준비된 명령문에 대한 매개 변수는 인용 할 필요가 없습니다. 운전자가 대신 처리합니다. 이것이 SQL 주입을 피하기 위해 정말로해야하는 전부입니까? …

21
배열을 IN () 조건에 바인딩 할 수 있습니까?
PDO를 사용하여 값 배열을 자리 표시 자에 바인딩 할 수 있는지 궁금합니다. 여기서 유스 케이스는 IN()조건 과 함께 사용할 값 배열을 전달하려고합니다 . 다음과 같이 할 수 있기를 바랍니다. <?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 또는 PDO-장단점은 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

30
PDOException SQLSTATE [HY000] [2002] 해당 파일 또는 디렉토리가 없습니다.
나는 성공적으로 fortrabbit 내 (아주 기본) 사이트를 구축했지만, 최대한 빨리 SSH 연결로 등 일부 명령 (실행하는 데 있다고 생각 php artisan migrate또는php artisan db:seed 오류 메시지가 나타납니다. [PDOException] SQLSTATE[HY000] [2002] No such file or directory 어떤 시점에서 내 테이블이 있기 때문에 마이그레이션이 작동해야했지만 지금은 왜 그것이 나를 위해 작동하지 않는지 …
319 php  mysql  laravel  pdo 

30
PDOException“드라이버를 찾을 수 없습니다”
방금 Apache, MySQL 및 PHP와 함께 Debian Lenny를 설치했으며 PDOException을 받고 could not find driver있습니다. 이것은 특정 코드 줄입니다. $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS) DB_HOST, DB_NAME, DB_USER, 그리고 DB_PASS내가 정의했다고 상수이다. 프로덕션 서버 및 이전 Ubuntu Server 설정에서 제대로 작동합니다. PHP 설치와 관련이 …
292 php  mysql  pdo  lamp 

7
PHP PDO 문은 테이블 또는 열 이름을 매개 변수로 사용할 수 있습니까?
테이블 이름을 준비된 PDO 문에 전달할 수없는 이유는 무엇입니까? $stmt = $dbh->prepare('SELECT * FROM :table WHERE 1'); if ($stmt->execute(array(':table' => 'users'))) { var_dump($stmt->fetchAll()); } 테이블 이름을 SQL 쿼리에 삽입하는 또 다른 안전한 방법이 있습니까? 안전하고, 나는하고 싶지 않다는 것을 의미합니다 $sql = "SELECT * FROM $table WHERE 1"
243 php  pdo 

23
PDO로 행 수
주위에 많은 상충되는 진술이 있습니다. PHP에서 PDO를 사용하여 행을 계산하는 가장 좋은 방법은 무엇입니까? PDO를 사용하기 전에 그냥 사용했습니다 mysql_num_rows. fetchAll 때로는 큰 데이터 세트를 처리 할 수 ​​있기 때문에 원하지 않는 것이므로 사용하기에 좋지 않습니다. 의견 있으십니까?
192 php  mysql  pdo 

10
PHP PDO : 문자셋, 이름 설정?
나는 이전의 정상적인 mysql_ * 연결에서 이것을 가지고 있었다. mysql_set_charset("utf8",$link); mysql_query("SET NAMES 'UTF8'"); PDO에 필요합니까? 그리고 어디서 가져야합니까? $connect = new PDO("mysql:host=$host;dbname=$db", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
189 php  mysql  pdo 

8
PDO에서 영구 연결을 사용할 때의 단점은 무엇입니까
PDO에서 PDO::ATTR_PERSISTENT속성을 사용하여 연결을 지속시킬 수 있습니다 . PHP 매뉴얼에 따르면- 지속적인 연결은 스크립트 끝에서 닫히지 않지만 다른 스크립트가 동일한 자격 증명을 사용하여 연결을 요청하면 캐시되고 재사용됩니다. 영구 연결 캐시를 사용하면 스크립트가 데이터베이스와 통신해야 할 때마다 새 연결을 설정하는 오버 헤드를 피할 수있어 웹 응용 프로그램이 더 빨라집니다. 또한 설명서는 …
181 php  pdo 

30
라 라벨 마이그레이션 오류 : 구문 오류 또는 액세스 위반 : 1071 지정된 키가 너무 깁니다. 최대 키 길이는 767 바이트입니다.
Laravel 5.4에서 마이그레이션 오류 php artisan make:auth [Illuminate \ Database \ QueryException] SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1071 지정된 키가 너무 깁니다. 최대 키 길이는 767 바이트입니다 (SQL : alter tabl e usersadd unique users_email_unique( email)) [PDOException] SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : …

3
PDO는 마지막으로 삽입 된 ID를 얻습니다
검색어가 있는데 마지막 ID를 삽입하고 싶습니다. 필드 ID는 기본 키 및 자동 증분입니다. 나는이 진술을 사용해야한다는 것을 안다 : LAST_INSERT_ID() 이 문장은 다음과 같은 쿼리에서 작동합니다. $query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())"; 그러나이 진술을 사용하여 ID를 얻으려면 : $ID = LAST_INSERT_ID(); 이 오류가 발생합니다. Fatal error: Call to …
158 php  mysql  database  pdo 

22
PDO 준비 단일 쿼리에서 여러 행을 삽입합니다
현재 MySQL 에서이 유형의 SQL을 사용하여 단일 쿼리에 여러 행의 값을 삽입하고 있습니다. INSERT INTO `tbl` (`key1`,`key2`) VALUES ('r1v1','r1v2'),('r2v1','r2v2'),... PDO에 대한 독서에서 사용 준비된 문은 정적 쿼리보다 더 나은 보안을 제공해야합니다. 따라서 준비된 문을 사용하여 "하나의 쿼리를 사용하여 여러 행의 값 삽입"을 생성 할 수 있는지 알고 싶습니다. 그렇다면 어떻게 …

18
PDO 데이터베이스 쿼리를 디버깅하는 방법?
PDO로 이동하기 전에 문자열을 연결하여 PHP에서 SQL 쿼리를 작성했습니다. 데이터베이스 구문 오류가 발생하면 최종 SQL 쿼리 문자열을 에코하고 데이터베이스에서 직접 시도하여 오류를 수정할 때까지 조정 한 다음 코드에 다시 넣을 수 있습니다. 준비된 PDO 문은 더 빠르고 안전하며 안전하지만 한 가지가 나를 귀찮게합니다. 최종 쿼리가 데이터베이스로 전송되는 것을 보지 못했습니다. …
140 php  sql  pdo 


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.