Tải bản đầy đủ (.pptx) (37 trang)

bai5mysql xuanhiens weblog

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (645.72 KB, 37 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>PHP MYSQL</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Tổng quan về MySQL</b>



<b><sub>MySQL</sub></b>

<sub> là một trong những </sub>

<b><sub>hệ cơ sở dữ liệu quan hệ </sub></b>

<sub>phổ biến </sub>


đang được sử dụng trên Web. Nó có sẵn miễn phí và dễ cài đặt.


<b><sub>Ưu điểm của MySQL database server </sub></b>



<sub>Dễ sử dụng, mạnh mẽ, nhanh chóng, an tồn và có thể mở rộng.</sub>



<sub>Chạy trên nhiều hệ điều hành: UNIX, Windows, Mac và các hệ điều </sub>



hành khác.



<sub>Hỗ trợ SQL chuẩn.</sub>



<sub>Là giải pháp cơ sở dữ liệu lý tưởng cho cả các ứng dụng nhỏ và lớn.</sub>


<sub>Được phát triển và phân phối bởi Oracle Corporation.</sub>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Kết nối với MySQL Server</b>



<sub>PHP cung cấp hai cách kết nối với MySQL server: </sub>


<sub>MySQLi (</sub>

<b><sub>I</sub></b>

<sub>mproved </sub>

<b><sub>MySQL</sub></b>

<sub>) </sub>



<sub>PDO (</sub>

<b><sub>P</sub></b>

<sub>HP </sub>

<b><sub>D</sub></b>

<sub>ata </sub>

<b><sub>O</sub></b>

<sub>bjects)</sub>



<b><sub>Hàm mysqli_connect (): </sub></b>

<sub>giao tiếp giữa </sub>

<b><sub>PHP</sub></b>

<sub> và </sub>

<b><sub>MySQL </sub></b>



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Kết nối với MySQL Server</b>



<b><sub>Phương pháp thủ tục</sub></b>

<b><sub>:</sub></b>




<b><sub>Cú pháp</sub></b>

<sub>:</sub>



<i><b><sub>hostname: chỉ định tên máy chủ (ví dụ: localhost) hoặc địa chỉ IP </sub></b></i>


của máy chủ MySQL



<i><b><sub>Username và password: chỉ định thông tin đăng nhập để truy cập </sub></b></i>


máy chủ MySQL



<i><b><sub>Databse: nếu được cung cấp sẽ chỉ định CSDL MySQL mặc định </sub></b></i>


được sử dụng khi thực hiện các truy vấn.



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Kết nối với MySQL Server</b>



<b><sub>Phương pháp thủ tục</sub></b>

<b><sub>:</sub></b>



<b><sub>Ví dụ</sub></b>

<sub>:</sub>



<b>    </b>

<b>$servername</b>

<b> </b>

<b>=</b>

<b> </b>

<b>"</b>

<b>localhost</b>

<b>";</b>



<b>    </b>

<b>$username</b>

<b> </b>

<b>=</b>

<b> </b>

<b>"</b>

<b>username</b>

<b>";</b>



<b>    </b>

<b>$password</b>

<b> </b>

<b>=</b>

<b> </b>

<b>"</b>

<b>password</b>

<b>";</b>


<b>    </b>

<i><b>// Create connection</b></i>



<b>    </b>

<b>$conn</b>

<b> </b>

<b>=</b>

<b> </b>

<b>mysqli_connect</b>

<b>($servername,</b>

<b> </b>

<b>$username,</b>

<b> </b>

<b>$passwo</b>


<b>rd);</b>



<b>    </b>

<i><b>// Check connection</b></i>




<b>    </b>

<b>if</b>

<b> </b>

<b>(!$conn)</b>

<b> </b>

<b>{</b>



<b>    </b>

<b>die("</b>

<b>Connection failed: </b>

<b>"</b>

<b> </b>

<b>.</b>

<b> </b>

<b>mysqli_connect_error</b>

<b>());</b>



<b>    </b>

<b>}</b>



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Kết nối với MySQL Server</b>



<b><sub>Phương pháp hướng đối tượng - PDO</sub></b>

<sub>:</sub>



<b><sub>Cú pháp</sub></b>

<sub>: </sub>



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Kết nối với MySQL Server</b>



<b><sub>Phương pháp hướng đối tượng - PDO</sub></b>

<sub>:</sub>



<b><sub>Ví dụ: </sub></b>


<b><?php</b>



<b>    </b>

<b>$servername =</b>

<b> </b>

<b>"</b>

<b>localhost</b>

<b>";</b>



<b>    </b>

<b>$username =</b>

<b> </b>

<b>"</b>

<b>username</b>

<b>";</b>



<b>    </b>

<b>$password =</b>

<b> </b>

<b>"</b>

<b>password</b>

<b>";</b>


<b>    </b>

<i><b>// Create connection</b></i>



<b>    </b>

<b>$conn =</b>

<b> new mysqli</b>

<b>($servername,</b>

<b> </b>

<b>$username,</b>

<b> </b>

<b>$password)</b>



<b>;</b>




<b>    </b>

<i><b>// Check connection</b></i>



<b>    </b>

<b>if</b>

<b> </b>

<b>($conn->connect_error)</b>

<b> </b>

<b>{</b>



<b>        </b>

<b>die("</b>

<b>Connection failed: </b>

<b>"</b>

<b> </b>

<b>.</b>

<b> </b>

<b></b>


<b>$conn->connect_error);</b>



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>Đóng kết nối</b>



<sub>Kết nối sẽ tự động đóng khi tập lệnh kết thúc. </sub>



<b><sub>Đóng kết nối theo phương pháp </sub></b>

<b><sub>hướng đối tượng</sub></b>



<b><sub>Đóng kết nối theo phương pháp </sub></b>

<b><sub>thủ tục</sub></b>



<b><?php</b>



<b>    </b>

<b>mysqli_close</b>

<b>($</b>

<b>conn</b>

<b>);</b>


<b>?></b>



<b><?php</b>



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>Tạo cơ sở dữ liệu trong MySQL</b>



<b><sub>Tạo CSDL trong phpMyAdmin:</sub></b>



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>Tạo cơ sở dữ liệu trong MySQL</b>



<sub>Trong XAMPP đã có sẵn phpMyAdmin, click </sub>

<i><sub>Admin</sub></i>

<sub> tương </sub>




</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>Tạo cơ sở dữ liệu trong MySQL</b>



<b><sub>Tạo database:</sub></b>



• Click tab

<i><b>Databases</b></i>

, xuất hiện màn hình tạo database,


trong phần

<i>Create database</i>

:



<b>Database name</b>

: điền tên database.



<b>Collation</b>

: chọn dạng ngơn ngữ hiển thị, chọn

<b>utf8_general_ci</b>

.



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>Tạo cơ sở dữ liệu trong MySQL</b>



<b><sub>Tạo database:</sub></b>



</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>Tạo cơ sở dữ liệu trong MySQL</b>



<b><sub>Tạo user kết nối database:</sub></b>



• Mặc định, người dùng có thể sử dụng luôn username

<i><b>root</b></i>

của


MySQL để kết nối database, tuy nhiên về lý do bảo mật, nên tạo


riêng cho

<i><b>mỗi database một username riêng</b></i>

.



<b><sub>Cách tạo:</sub></b>



• Click vào tên

<i>CSDL</i>

từ danh sách database bên trái


• Chọn tab

<i><b>Privileges</b></i>

.



</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>Tạo cơ sở dữ liệu trong MySQL</b>




</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>Tạo cơ sở dữ liệu trong MySQL</b>



<b><sub>Tạo user kết nối database:</sub></b>



<b><sub>Tại màn hình tạo tài khoản</sub></b>



<sub>①: Set user name: nhập tên user_tintuc.</sub>


②: host Name: localhost



③: Set password: thiết lập password, ví dụ: 123456.


<sub>④</sub>

<sub>: Re-type: xác nhận lại mật khẩu.</sub>



</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>Tạo cơ sở dữ liệu trong </b>


<b>MySQL</b>



</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>Tạo cơ sở dữ liệu MySQL bằng PHP</b>



<b><?php</b>



<b>  </b>

<i><b>/*giaả sửả đã kếết nốếi vói server và user 'root' khống </b></i>


<i><b>pass)*/</b></i>



<b>    </b>

<b>$link</b>

<b> </b>

<b>=</b>

<b> </b>

<b>mysqli_connect</b>

<b>("</b>

<b>localhost</b>

<b>",</b>

<b> </b>

<b>"</b>

<b>root</b>

<b>",</b>

<b> </b>

<b>"");</b>



<b>     </b>

<i><b>// Check connection</b></i>



<b>    </b>

<b>if($link</b>

<b> </b>

<b>===</b>

<b> </b>

<b>false</b>

<b>){</b>



<b>      </b>

<b>die("</b>

<b>ERROR:Could not connect. </b>

<b>".</b>

<b> </b>

<b>mysqli_connect_erro</b>


<b>r</b>

<b>());</b>




</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>Tạo cơ sở dữ liệu MySQL bằng PHP</b>



<b><?php</b>


<b>    </b><i><b>// tạo database bằng câu lệnh sql</b></i>
<b>    $sql = "CREATE DATABASE demo";</b>


<b>    if(mysqli_query($link, $sql)){</b>


<b>      echo "Database created successfully";</b>


<b>    } else{</b>


<b>     echo "ERROR: Could not able to execute $sql. " . mysqli_error(</b>
<b>$link);</b>


<b>    }</b>


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

<b>Tạo bảng </b>



 <sub>Sau khi tạo Database, tiếp tục </sub>
tạo các bảng trong cơ sở dữ
liệu:


• Click vào


<b>database</b> <i>tintuc</i> ở danh
sách bên trái, và chọn tab



<i><b>Structure</b></i>.


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<b>Tạo bảng </b>



</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

<b>Tạo bảng </b>



</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

<b>Tạo bảng </b>



 <b><sub>Chỉnh AUTO INCREMENT </sub></b>


<b>cho id: </b>vì mỗi khi thêm một
hàng dữ liệu thì mục id sẽ tự
động được tăng thêm 1.


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

<b>Tạo bảng </b>



• Ở màn hình điều chỉnh,


tìm và click chọn



checkbox ở vị trí A_I

<b>.</b>



</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

<b>Tạo bảng </b>



<b><sub>Chỉnh KHĨA CHÍNH cho id: </sub></b>

<sub>Mỗi table chỉ có một khóa chính</sub>


<sub>Tại hàng id, cột </sub>

<i><sub>Action</sub></i>

<sub>, Click chọn </sub>

<i><sub>Primary</sub></i>

<sub>, khi đó sẽ có màn </sub>



</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

<b>Tạo bảng </b>



<b><sub>Chèn dữ liệu vào bảng từ phpMyAdmin</sub></b>




<sub>Chọn table </sub>

<i><sub>cần chèn </sub></i>

<sub>ở danh sách bên trái, sau đó click chọn </sub>



</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

<b>Chèn dữ liệu vào bảng</b>



<b><sub>Chèn dữ liệu vào bảng </sub></b>

<b><sub>bằng lệnh</sub></b>



<i><b>/</b></i>



<i><b>* Attempt MySQL server connection. Assuming you are runni</b></i>


<i><b>ng MySQL</b></i>



<i><b>server with default setting (user 'root' with no password</b></i>


<i><b>) */</b></i>



<b>$link</b>

<b> </b>

<b>=</b>

<b> </b>

<b>mysqli_connect</b>

<b>("</b>

<b>localhost</b>

<b>",</b>

<b> </b>

<b>"</b>

<b>root</b>

<b>",</b>

<b> </b>

<b>"",</b>

<b> </b>

<b>"</b>

<b>demo</b>

<b>");</b>



<b> </b>

<i><b>// Check connection</b></i>



<b>if($link</b>

<b> </b>

<b>===</b>

<b> </b>

<b>false</b>

<b>){</b>



<b>    </b>

<b>die("</b>

<b>ERROR:Could not connect.</b>

<b>"</b>

<b> </b>

<b>.</b>

<b> </b>

<b>mysqli_connect_error</b>



</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

<b>Chèn dữ liệu vào bảng</b>



<b><sub>Chèn dữ liệu vào bảng </sub></b>

<b><sub>bằng lệnh</sub></b>



<i><b>// Attempt insert query execution</b></i>



<b>$sql</b>

<b> </b>

<b>="INSERT</b>

<b> </b>

<b>INTO</b>

<b> persons (first_name, last_name, emai</b>


<b>l) </b>

<b>VALUES</b>

<b> (</b>

<b>'</b>

<b>Peter</b>

<b>'</b>

<b>, </b>

<b>'</b>

<b>Parker</b>

<b>'</b>

<b>, </b>

<b>'</b>

<b></b>

<b>'</b>

<b>)</b>

<b>";</b>



<b>if(</b>

<b>mysqli_query</b>

<b>($link,</b>

<b> </b>

<b>$sql)){</b>



<b>    </b>

<b>echo</b>

<b> </b>

<b>"</b>

<b>Records inserted successfully.</b>

<b>";</b>


<b>}</b>

<b> </b>

<b>else{</b>



<b>    </b>

<b>echo</b>

<b> </b>

<b>"</b>

<b>ERROR: Could not able to execute </b>

<b>$sql</b>

<b>. </b>

<b>"</b>

<b> </b>

<b>.</b>

<b> </b>

<b>my</b>


<b>sqli_error</b>

<b>($link);</b>



</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

<b>Chèn dữ liệu vào bảng</b>



<b><sub>Chèn dữ liệu vào bảng </sub></b>

<b><sub>bằng lệnh</sub></b>



<i><b>// Close connection</b></i>



</div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

<b>Chèn dữ liệu vào bảng thông qua Form</b>



<sub>Bước 1: Tạo Form</sub>



<b><form action="insert.php" method="post"></b>


<b>    <p></b>


<b>        <label for="firstName">First Name:</label></b>


<b>        <input type="text" name="first_name" id="firstName"</b>
<b>></b>


<b>    </p></b>


<b>    <p></b>



<b>        <label for="lastName">Last Name:</label></b>


<b>        <input type="text" name="last_name" id="lastName"></b>


<b>    </p></b>


<b>    <p></b>


<b>        <label for="emailAddress">Email Address:</label></b>


<b>        <input type="text" name="email" id="emailAddress"></b>


<b>    </p></b>


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30>

<b>Chèn dữ liệu vào bảng thông qua Form</b>



<b><sub>Bước 2: Truy xuất và chèn dữ liệu từ form</sub></b>


<b><?php</b>


<i><b>/*  (user 'root' with no password) */</b></i>


<b>$link = mysqli_connect("localhost", "root", "", "demo");</b>


<i><b>// Check connection</b></i>


<b>if($link === false){</b>


<b>    die("ERROR: Could not connect. " . mysqli_connect_error());</b>
<b>}</b>



<b> // Escape user inputs for security</b>


<b>$first_name = mysqli_real_escape_string($link, $_REQUEST['first_na</b>
<b>me']);</b>


<b>$last_name = mysqli_real_escape_string($link, $_REQUEST['last_name</b>
<b>']);</b>


<b>$email = mysqli_real_escape_string($link, $_REQUEST['email']);</b>


</div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

<b>Chèn dữ liệu vào bảng thông qua Form</b>



<sub>Bước 2: Truy xuất và chèn dữ liệu từ form</sub>



<i><b>// Attempt insert query execution</b></i>



<b>$sql</b>

<b> </b>

<b>=</b>

<b> </b>

<b>"INSERT</b>

<b> </b>

<b>INTO</b>

<b> persons (first_name, last_name, email</b>


<b>) </b>



<b>VALUES</b>

<b> (</b>

<b>'$first_name'</b>

<b>, </b>

<b>'$last_name'</b>

<b>, </b>

<b>'$email'</b>

<b>)</b>

<b>";</b>


<b>if(</b>

<b>mysqli_query</b>

<b>($link,</b>

<b> </b>

<b>$sql)){</b>



<b>    </b>

<b>echo</b>

<b> </b>

<b>"</b>

<b>Records added successfully.</b>

<b>";</b>


<b>}</b>

<b> </b>

<b>else{</b>



<b>    </b>

<b>echo</b>

<b> </b>

<b>"</b>

<b>ERROR: Could not able to execute </b>

<b>$sql</b>

<b>. </b>

<b>"</b>

<b> </b>

<b>.</b>

<b> </b>

<b>mysq</b>


<b>li_error</b>

<b>($link);</b>



<b>}</b>




<b> </b>

<i><b>// Close connection</b></i>



</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

<b>Lấy dữ liệu từ bảng</b>



</div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

<b>Lấy dữ liệu từ bảng</b>



<b><sub>Cú pháp: </sub></b>



<b><sub>Ví dụ:</sub></b>



<b>SELECT</b>

<b> </b>

<i><b>column1</b></i>

<b>, </b>

<i><b>column2</b></i>

<b>, </b>

<i><b>columnN</b></i>

<b> </b>

<b>FROM</b>

<b> </b>

<i><b>table_n</b></i>


<i><b>ame</b></i>

<b>;</b>



<b><?php</b>


<b>    /* default setting (user 'root' with no password) */</b>


<b>    $link = mysqli_connect("localhost", "root", "", "demo");</b>
<b>    </b><i><b>// Check connection</b></i>


<b>    if($link === false){</b>


<b>       die("ERROR: Could not connect. " . mysqli_connect_erro</b>
<b>r());</b>


<b>     }</b>


</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

<b>Lấy dữ liệu từ bảng</b>




<b><sub>Ví dụ (tt):</sub></b>

<b>if<sub>  </sub>($result<sub>if</sub><sub>(mysqli_num_rows($result)</sub> = mysqli_query($link,<sub> </sub><sub>></sub><sub> </sub><sub>0</sub> $sql)){<sub>){</sub></b>


<b>     echo "<table>";</b>


<b>       echo "<tr>";</b>


<b>      echo "<th>id</th>";</b>


<b>      echo "<th>first_name</th>";</b>


<b>      echo "<th>last_name</th>";</b>


<b>      echo "<th>email</th>";</b>


<b>      echo "</tr>";</b>


<b>      while($row = mysqli_fetch_array($result)){</b>


<b>         echo "<tr>";</b>


<b>      echo "<td>" . $row['id'] . "</td>";</b>


<b>      echo "<td>" . $row['first_name'] . "</td></b>
<b>";</b>


<b>      echo "<td>" . $row['last_name'] . "</td>"</b>
<b>;</b>


<b>      echo "<td>" . $row['email'] . "</td>";</b>



<b>         echo "</tr>";</b> <b>}</b>


</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

<b>Lấy dữ liệu từ bảng</b>



<b><sub>Ví dụ (tt):</sub></b>



<b> </b> <b>else{</b>


<b>        echo "No records matching your query were found.";</b>


<b>      }</b>


<b>   } else{</b>


<b>    echo "ERROR: Could not able to execute $sql.". mysqli_error($</b>
<b>link);</b>


<b>   }</b>


<i><b>// Close connection</b></i>


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36></div>
<span class='text_page_counter'>(37)</span><div class='page_container' data-page=37></div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×