Hướng dẫn php connect oracle database example - ví dụ về cơ sở dữ liệu php kết nối oracle
Mục đíchDo not delete this text because it is a placeholder for the generated list of "main" topics when run in a browser> Show
Hướng dẫn này chỉ cho bạn cách sử dụng PHP với cơ sở dữ liệu Oracle 11g.Thời gian để hoàn thành Khoảng 2 giờTổng quan PHP là ngôn ngữ tập lệnh web phổ biến và thường được sử dụng để tạo các trang web dựa trên cơ sở dữ liệu. Hướng dẫn này giúp bạn bắt đầu với cơ sở dữ liệu PHP và Oracle bằng cách chỉ ra cách xây dựng một ứng dụng web và bằng cách cung cấp các kỹ thuật để sử dụng PHP với Oracle. Nếu bạn chưa quen với PHP, hãy xem lại Phụ lục: Php Primer để có được sự hiểu biết về ngôn ngữ PHP.Điều kiện tiên quyết Trước khi bắt đầu lời tiên tri này, xin vui lòng hoàn thành các điều kiện tiên quyết sau:.
sqlplus / as sysdba execute dbms_connection_pool.start_pool(); execute dbms_connection_pool.restore_defaults();Tạo người dùng có tên PHPHOL bằng mật khẩu 'Chào mừng'. Cài đặt lược đồ nhân sự mẫu của Oracle và thực hiện các thay đổi sau: create sequence emp_id_seq start with 400; create trigger my_emp_id_trigger before insert on employees for each row begin select emp_id_seq.nextval into :new.employee_id from dual; end; / -- -- Also to simplify the example we remove this trigger otherwise -- records can only be updated once without violating the -- PYTHONHOL.JHIST_EMP_ID_ST_DATE_PK constraint -- drop trigger update_job_history; -- -- Allow employees to be changed when testing the lab after hours. -- drop trigger secure_employees;Cài đặt Apache và bật Mô -đun UserDir cho Public_HTML
Cài đặt Apache và bật Mô -đun UserDir cho Public_HTMLCài đặt Php 5.3.3 với tiện ích mở rộng OCI8 1.4. Trong bộ Php.ini: oci8.connection_class = MYPHPAPP Trích xuất các tập tin này vào vị trí $ nhà của bạn. Sử dụng PHP OCI8 với cơ sở dữ liệu Oracle 11G
tương ứng với quá trình Apache đang chạy giữ kết nối cơ sở dữ liệu mở. Đối với PHP, Apache chạy ở chế độ đa quy trình, sinh sản con xử lý từng quy trình có thể xử lý một tập lệnh PHP. Tùy thuộc vào cách Apache phân bổ các quy trình này để xử lý các yêu cầu "AB", bạn có thể thấy một số lượng hàng khác nhau trong phiên V $.So sánh số lượng yêu cầu hoàn thành trong mỗi lần chạy. Bạn có thể muốn chạy từng tập lệnh một vài lần để làm nóng bộ nhớ cache.
Liên kết các giá trị dữ liệu (tùy chọn).
Kết quả của truy vấn được hiển thị trong trình duyệt web.Tham số OCI_ASSOC tìm nạp hàng như một sự kết hợp của tên cột và dữ liệu cột. Bind variables improve code reusability, and can reduce the risk of SQL Injection attacks. Ngoài ra, tham số OCI_NUM có thể được chuyển đến oci_fetch_array () để tìm nạp hàng dưới dạng mảng số.
Từ trình duyệt web của bạn, hãy nhập URL sau để hiển thị đầu ra:Kết quả của truy vấn được hiển thị trong trình duyệt web. Theo mặc định, khi PHP thực thi câu lệnh SQL, nó sẽ tự động cam kết. Điều này có thể bị quá tải và các hàm OCI_Commit () và OCI_Rollback () được sử dụng để kiểm soát các giao dịch. Vào cuối tập lệnh PHP, bất kỳ dữ liệu chưa được cam kết nào được cuộn trở lại.oci_commit() and oci_rollback() functions used to control transactions. At the end of a PHP script, any uncommitted data is rolled back. Cam kết mỗi thay đổi riêng lẻ gây thêm tải trên máy chủ. Nói chung, bạn muốn tất cả hoặc không có dữ liệu của bạn cam kết. & NBSP; Thực hiện kiểm soát giao dịch của riêng bạn có hiệu suất và lợi ích tích hợp dữ liệu. Để tìm hiểu về quản lý giao dịch trong PHP với cơ sở dữ liệu Oracle, hãy thực hiện các bước sau.
Xem lại mã trong $ home/public_html/trans_autocommit.phpTập lệnh này khác với trans1.php ở chỗ không có OCI_DEFAULT khi dữ liệu được chèn. & NBSP; Điều này có nghĩa là dữ liệu mới được cam kết bởi cuộc gọi OCI_Execute ().s reuse logic, no matter how the application accesses the database. Many data-related operations can be performed in PL/SQL faster than extracting the data into a program (for example, PHP) and then processing it. Oracle also supports Java stored procedures. Dữ liệu hiện được cam kết.
Cải thiện hiệu suất truy vấnPhần này cho thấy một số cách để cải thiện hiệu suất truy vấn. Thực hiện các bước sau:
Phần này hiển thị chức năng OCI_BIND_ARRAY_BY_NAME () cho phép một mảng PHP được truy xuất từ hoặc được chuyển đến quy trình PL/SQL.Xem lại SQL trong $ home/public_html/fetch_bulk.sqlDBMS_LOB that makes manipulating them in PL/SQL easy. Kịch bản này tạo ra gói PL/SQL lấy từ BigTab bằng cách sử dụng câu lệnh PL/SQL Bulk Collection và trả về kết quả trong một mảng PL/SQL. Từ phiên SQLPLUS của bạn, hãy chạy như sau:
Đặt thông tin theo dõiOCI8 có một số chức năng gửi dữ liệu meta đến cơ sở dữ liệu khi các câu lệnh được thực thi. Chúng được hiển thị trong nhiều công cụ Oracle và rất hữu ích cho việc giám sát và truy tìm ứng dụng.
Kết hợp Ajax vào trang của bạnPhần này hiển thị kỹ thuật cơ bản để cập nhật một phần của một trang mà không tải lại toàn bộ nội dung. Thực hiện các nhiệm vụ sau: Bạn có thể sử dụng XMLHTTPREQUEST để cập nhật một phần của trang mà không tải lại toàn bộ nội dung trang. Thực hiện các bước sau:
Chỉnh sửa ajax_id.html và thay đổi 185 thành 186.Tải lại nó trong trình duyệt. Giá trị mới được hiển thị. Bấm OK để loại bỏ cửa sổ cảnh báo.
Cải thiện hiệu suất truy vấnSử dụng LOB để tải lên và truy vấn hình ảnh Kết hợp Ajax vào trang của bạn column username format a30 column logon_time format a18 set pagesize 1000 feedback off echo on select username, to_char(logon_time, 'DD-MON-YY HH:MI:SS') logon_time from v$session where username is not null; exit6 Phụ lục: Primer PHP column username format a30 column logon_time format a18 set pagesize 1000 feedback off echo on select username, to_char(logon_time, 'DD-MON-YY HH:MI:SS') logon_time from v$session where username is not null; exit7 PHP là một ngôn ngữ kịch bản được đánh máy động. Nó thường được nhìn thấy trong các ứng dụng web nhưng có thể được sử dụng để chạy các tập lệnh dòng lệnh. Cú pháp php cơ bản là đơn giản để học. Nó có các vòng lặp quen thuộc, kiểm tra và cấu trúc chuyển nhượng. Các dòng được chấm dứt với một đại hội. column username format a30 column logon_time format a18 set pagesize 1000 feedback off echo on select username, to_char(logon_time, 'DD-MON-YY HH:MI:SS') logon_time from v$session where username is not null; exit8 Chuỗi có thể được đặt trong các trích dẫn đơn hoặc đôi: column username format a30 column logon_time format a18 set pagesize 1000 feedback off echo on select username, to_char(logon_time, 'DD-MON-YY HH:MI:SS') logon_time from v$session where username is not null; exit9 Tên biến được tiền tố với một dấu hiệu đô la. Những thứ trông giống như các biến bên trong chuỗi được trích xuất kép sẽ được mở rộng: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql0 Chuỗi và biến cũng có thể được nối bằng một khoảng thời gian.echo or print statement. Formatted output with printf() is also possible. cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql1 Các biến không cần loại được khai báo:var_dump() function is useful for debugging. cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql2 Mảng có thể có các chỉ mục số hoặc kết hợp:$a2 assigned above, this would output: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql3 Chuỗi và biến có thể được hiển thị với một câu lệnh ECHO hoặc IN. Đầu ra định dạng với printf () cũng có thể.switch statement. The if/elseif/else statements look like: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql4 Hàm var_dump () rất hữu ích để gỡ lỗi. Với giá trị của $ A2 được chỉ định ở trên, điều này sẽ xuất ra: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql5 Luồng mã có thể được kiểm soát với các bài kiểm tra và vòng lặp. PHP cũng có một tuyên bố chuyển đổi. Các câu lệnh if/otherif/other trông giống như:$i is incremented in each iteration. The loop stops when the test condition evaluates to false. You can also loop with while or do while constructs. Lệnh foreach rất hữu ích để lặp lại các mảng:foreach command is useful to iterate over arrays: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql6 Điều này đặt $ V cho mỗi phần tử của mảng lần lượt.$v to each element of the array in turn. Một chức năng có thể được xác định: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql7 Các chức năng có thể có số lượng thay đổi của các đối số và có thể hoặc không thể trả về các giá trị. Chức năng này có thể được gọi bằng cách sử dụng: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql8 Các cuộc gọi chức năng có thể xuất hiện sớm hơn định nghĩa hàm. Files phụ có thể được bao gồm trong các tập lệnh PHP với câu lệnh bao gồm () hoặc yêu cầu ().include() or require() statement. cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql9 A Yêu cầu () sẽ tạo ra một lỗi nghiêm trọng nếu không tìm thấy tập lệnh.require() will generate a fatal error if the script is not found. Nhận xét là một dòng đơn: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql0 hoặc đa dòng: cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql1 Các tập lệnh PHP được đặt trong các thẻ. and ?> tags. cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql2 Khi một máy chủ web được cấu hình để chạy các tệp PHP thông qua trình thông dịch PHP, việc tải tập lệnh trong trình duyệt sẽ khiến mã PHP được thực thi và tất cả đầu ra được truyền đến trình duyệt. Các khối mã PHP và mã HTML có thể được xen kẽ. Mã PHP cũng có thể in rõ ràng các thẻ HTML. cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql3 Nhiều khía cạnh của PHP được kiểm soát bởi các cài đặt trong tệp cấu hình php.ini. Vị trí của tệp là cụ thể của hệ thống. Vị trí của nó, danh sách các phần mở rộng được tải và giá trị của tất cả các cài đặt khởi tạo có thể được tìm thấy bằng cách sử dụng hàm phpinfo (): php.ini configuration file. The location of the file is system specific. Its cd $HOME/public_html sqlplus -l phphol/welcome @usersess.sql4 Các giá trị có thể được thay đổi bằng cách chỉnh sửa phpl.ini và khởi động lại máy chủ web. Một số giá trị cũng có thể được thay đổi trong các tập lệnh bằng cách sử dụng hàm ini_set ().phpl.ini and restarting the Web server. Some values can also be changed within scripts by using the ini_set() function. Một danh sách các chức năng OCI khác nhau bao gồm:oci functions include the following:
PHP có thể kết nối với cơ sở dữ liệu Oracle không?Để tạo kết nối với Oracle có thể được sử dụng trong suốt vòng đời của tập lệnh PHP, hãy thực hiện các bước sau. 1. php // Create connection to Oracle $conn = oci_connect("phphol", "welcome", "//localhost/orcl"); if (!$
Làm cách nào để kết nối với cơ sở dữ liệu Oracle?Kết nối với Oracle với Oracle Client.. Loại kết nối -Loại kết nối (khách hàng trực tiếp hoặc oracle). Máy chủ - Cung cấp tên máy chủ hoặc địa chỉ nơi bật cơ sở dữ liệu..... Tên dịch vụ - Nhập tên dịch vụ phiên bản Oracle .. Cổng - Nhập tên cổng phiên bản Oracle .. Người dùng và mật khẩu - Cung cấp tên người dùng và mật khẩu của bạn .. Làm cách nào để kiểm tra kết nối OCI?Kiểm tra cấu hình trên máy chủ cơ sở dữ liệu.. Bắt đầu Trình quản lý mạng Oracle.Xem thêm: ... . Trong Navigator, mở rộng thư mục hoặc đặt tên địa phương> dịch vụ .. Chọn tên dịch vụ mạng hoặc dịch vụ cơ sở dữ liệu .. Chọn lệnh> Dịch vụ mạng thử nghiệm..... Nhấp vào Đóng để loại bỏ hộp thoại Connect Test .. Chúng ta có thể sử dụng Oracle với Laravel không?Bây giờ có ảnh hưởng như nó có thể, cơ sở dữ liệu của Oracle không được Laravel hỗ trợ ra khỏi hộp.Tuy nhiên, giống như rất nhiều thứ không được hỗ trợ ra khỏi hộp, chúng tôi thực sự có thể làm cho Laravel hoạt động với cơ sở dữ liệu Oracle.PHP đã có hỗ trợ cho cơ sở dữ liệu Oracle từ năm 2003 thông qua tiện ích mở rộng OCI8.Oracle Database is not supported out of the box by Laravel. However, like a lot of things that are not supported out of the box, we can actually make Laravel work with Oracle Database. PHP has had support for Oracle Database since 2003 through the OCI8 PHP extension. |