這篇文章主要講解了“如何在Win2000下用PHP和JSP連接”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“如何在Win2000下用PHP和JSP連接MySQL”吧!
一、前言
在閱讀本文檔之前,你的Win2000下應該已經(jīng)安裝好了Apache、JDK、Tomcat、PHP、MySQL。如果你還沒(méi)有成功地安裝好這些軟件,你可以參閱Apache1.3.20在Windows下的使用、Windows下JDK1.3.1的安裝、Tomcat在Win2000下的安裝、PHP在Win2000下的安裝、MySQL在Win2000下的安裝進(jìn)行安裝。
在本文檔中,我們并不準備對PHP、MySQL、JSP作過(guò)多的解釋?zhuān)覀儗⒓俣阋呀?jīng)大致掌握了PHP、MySQL、JSP。我們僅僅是探討在Win2000下,使用PHP和JSP連接MySQL的方法。
二、MySQL的前期準備
在我們之前安裝的MySQL中,我們僅僅是使用了系統初始的root用戶(hù)。在本文中,我們不準備繼續使用root用戶(hù),雖然我們是在一個(gè)試驗環(huán)境下工作,但是養成一個(gè)良好的習慣是至關(guān)重要的,因為我們將來(lái)面對的將可能是一個(gè)完全開(kāi)放的Internet。和在絕大多數情況下一樣,MySQL中對root用戶(hù)的濫用也有可能導致MySQL的崩潰。
MySQL安裝后的初始情況有點(diǎn)怪怪的,要正確地增加用戶(hù)并設置用戶(hù)權限,我們有必要對mysql庫中的表User及DB進(jìn)行清理。
首先,在命令行方式下進(jìn)入c:/mysql/bin目錄,直接輸入mysql,你會(huì )進(jìn)入MySQL的客戶(hù)端程序MYSQL(在下面,我們用MYSQL特指MySQL的客戶(hù)端程序,而在其他場(chǎng)合,我們將會(huì )使用MySQL)。在“mysql>”提示符后輸入:
show databases;
你會(huì )看到初始狀態(tài)下,MySQL下有兩個(gè)數據庫:mysql和test,test庫反正對我們也沒(méi)什么用,留著(zhù)反而會(huì )混淆視聽(tīng),所以我們不妨將其刪除:
drop database test;
有關(guān)用戶(hù)及其權限保存在mysql數據庫中,其中關(guān)鍵是db表和user表,現在,我們可以先將db表清空:
use mysql;
delete from db;
然后我們對user庫進(jìn)行清理,并進(jìn)行刷新:
delete from user
where user=’’ or host=’localhost’;
flush privileges;
現在,用quit退出MYSQL。
現在,你將不能直接輸入mysql進(jìn)入MYSQL了(那種情況實(shí)際上是不需要用戶(hù)認證進(jìn)入了MYSQL)。你只能輸入mysql -u root
-p。
如果之前你為root用戶(hù)設置了密碼,這時(shí)會(huì )提示你輸入密碼,如果你還沒(méi)有設置,直接按回車(chē)鍵就可以進(jìn)入MYSQL了。
沒(méi)有口令的root用戶(hù)的存在是一個(gè)很恐怖的情況,你最好先退出客戶(hù)端程序用我們在MySQL在Win2000下的安裝中講述的方法為root設置一個(gè)口令后再進(jìn)入MYSQL。
我們建立一個(gè)用于使用的新的數據庫:
create database my_test;
在這個(gè)庫中建立一個(gè)數據表:
use my_test;
create table my_test_table
(test_column char(20) not null);
在這個(gè)表中增加一行:
insert
my_test_table values (’Hello,I’m MySQL!’);
現在我們用grant命令建立一個(gè)新的用戶(hù)yzysy,該用戶(hù)只對my_test這個(gè)庫有SELECT、UPDATE、INSERT以及DELETE的權限。該用戶(hù)的密碼也是yzysy:
grant SELECT,UPDATE,INSERT,DELETE on my_test.* to yzysy identified by
’yzysy’;
有關(guān)grant命令的詳細說(shuō)明請參看MySQL用戶(hù)手冊。
三、PHP連接MySQL
PHP連接MySQL非常簡(jiǎn)單,我們不需要作任何設置。
在A(yíng)pache安裝目錄的htdocs目錄下建立一個(gè)新文件MySQL.php:
<?
$dbcnx=mysql_connect("localhost","yzysy","yzysy");
mysql_select_db("my_test");
$result=mysql_query("select
* from my_test_table",$dbcnx);
while
($row=mysql_fetch_array($result))
echo
("
");
?>
其中,mysql_connect()用來(lái)連接數據庫,mysql_select_db()用來(lái)選擇工作的數據庫,mysql_query()用來(lái)執行SQL查詢(xún),mysql_fetch_array()用來(lái)獲得select的結果集。
現在,打開(kāi)你的瀏覽器,在地址欄中輸入http://localhost/MySQL.php,你應該能看到黑體的“Hello,I′m
MySQL!”。
、JSP連接MySQL
JSP連接MySQL要稍微復雜一點(diǎn)。
首先你必須從http://www.mysql.com/Downloads/Contrib/mm.mysql.jdbc-1.2c.tar.gz下載mm.mysql.jdbc-1.2c.tar.gz,然后將其解壓到本地硬盤(pán)的一個(gè)目錄下(我們使用的是c:/mm.mysql.jdbc-1.2c。
然后在CLASSPATH系統變量的最后添加c:/mm.mysql.jdbc-1.2c;(此處/應該是反斜杠)
創(chuàng )建一個(gè)JavaBean,名為DBconn.java,在Tomcat的/webapps/examples/WEB-INF/classes下建立一個(gè)mysqltest目錄,將該文件保存在這個(gè)目錄中,DBconn.java用來(lái)封裝與數據庫鏈接的操作。DBconn.java的內容如下:
package
Mysqltest;
import java.sql.*;
public class DBconn
{String
DBDriver="org.gjt.mm.mysql.Driver";
String
ConnStr="jdbc:mysql://localhost/my_test";
String MyUser="yzysy";
String
MyPassword="yzysy";
Connection conn = null;
ResultSet rs = null;
public
DBconn()
{try
{Class.forName(DBDriver);
}
catch(java.lang.ClassNotFoundException e)
{System.err.println("DBconn (): " + e.getMessage());
}
}
public
ResultSet executeQuery(String sql)
{rs = null;
try
{conn =
DriverManager.getConnection(ConnStr,MyUser,MyPassword);
Statement stmt =
conn.createStatement();
rs =
stmt.executeQuery(sql);
}
catch(SQLException ex)
{System.err.println("aq.executeQuery:"+ex.getMessage());
}
return
rs;
}
}
我們注意到在這段程序是只有
String
DBDriver="org.gjt.mm.mysql.Driver";
String
ConnStr="jdbc:mysql://localhost/my_test";
帶有MySQL的特色,其余的程序與其他JDBC應用并沒(méi)有什么不同。
利用JDK的Javac命令編譯DBconn.java形成相應的class文件。
在Tomcat的/webapps/examples/jsp目錄下建立Mysqltest.jsp文件。其內容如下:
<%@ page="" contenttype="text/html; charset=gb2312">
<%@ page="" language="java" import="java.sql.*">
undefinedundefined
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站