javascript連接mysql與php通過(guò)odbc連接任意數(shù)據(jù)庫(kù)的實(shí)例
腦洞大開(kāi)用javascript鏈接mysql,2個(gè)小時(shí)總算實(shí)現(xiàn)了,用到了odbc,后面又想到用php鏈接odbc鏈接數(shù)據(jù)庫(kù),也實(shí)現(xiàn)了,就把案例放一下。
注意事項(xiàng):
1、javascript連接mysql使用的是”new ActiveXObject“這個(gè)對(duì)象,這個(gè)對(duì)象只有IE瀏覽器支持,所以只能在IE瀏覽器下實(shí)現(xiàn)連接mysql。
2、javascript也是通過(guò)odbc連接mysql,和php不同的是,其中一個(gè)參數(shù),圖片中,紅色的是php的連接數(shù)據(jù)源名,藍(lán)色的是javascript連接數(shù)據(jù)源名,這里非常容易誤導(dǎo)。
3.下載配置odbc源需注意,VC庫(kù)要和odbc安裝文件位數(shù)一致,32位源對(duì)應(yīng)32位或X86VC庫(kù),64位源對(duì)應(yīng)64位VC庫(kù),并且odbc數(shù)據(jù)源管理程序不容易找,有兩種辦法,第一種打開(kāi)控制面板,搜odbc,選擇對(duì)應(yīng)版本控制器去配置,第二種在windows下面,system32里面搜odbcad32.exe是64位版本,syswow64搜odbcad32.exe是32位版本。
4.如果個(gè)人使用配置用戶DSN即可,如果多個(gè)使用或者聯(lián)網(wǎng)使用配置系統(tǒng)DSN。
源碼:
javascript版
<script> //創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象 var conn = new ActiveXObject("ADODB.Connection"); //創(chuàng)建數(shù)據(jù)集對(duì)象 var rs = new ActiveXObject("ADODB.Recordset"); try{ //數(shù)據(jù)庫(kù)連接串,具體配置請(qǐng)參考:http://www.connectionstrings.com/ //如果不知道如何配置連接串,可以通過(guò)配置UDL文件后用文本編輯器打開(kāi)獲得 //Driver={這里是圖片藍(lán)色框體的驅(qū)動(dòng)程序名,而不是自定義的名稱,注意} var connectionstring = "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;User=root;Password=root;Database=suning;Option=3;Port=3306"; console.log(connectionstring); //打開(kāi)連接 conn.open(connectionstring); //查詢語(yǔ)句 var sql = " select * from su_ceshi "; //打開(kāi)數(shù)據(jù)集(即執(zhí)行查詢語(yǔ)句) rs.open(sql,conn); //(或者rs=conn.execute(sql);) //遍歷所有記錄 while(!rs.eof){ //WScript是Windows 的腳本宿主對(duì)象,詳細(xì)情況請(qǐng)?jiān)趙indows幫助里查找。 //WScript.Echo輸出記錄的內(nèi)容 document.write(rs.Fields("id") + "\t" + rs.Fields("xueke") + "\n"); //下一條記錄 rs.moveNext(); } //關(guān)閉記錄集 rs.close(); //關(guān)閉數(shù)據(jù)庫(kù)連接 conn.close(); } catch(e){ //異常報(bào)告 document.write(e.message); } finally{ // } </script>
php版:
<html> <body> <?php //第一個(gè)參數(shù)是圖片紅色框體的自定義名稱。注意 $conn=odbc_connect('mysqlodbc','root','root'); if (!$conn) { exit("連接失敗: " . $conn); } $sql="SELECT * FROM su_ceshi"; $rs=odbc_exec($conn,$sql); if (!$rs) { exit("SQL 語(yǔ)句錯(cuò)誤"); } echo "<table><tr>"; echo "<th>id</th>"; echo "<th>xueke</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"id"); $conname=odbc_result($rs,"xueke"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; ?> </body> </html>
以上這篇javascript連接mysql與php通過(guò)odbc連接任意數(shù)據(jù)庫(kù)的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js點(diǎn)擊事件的執(zhí)行過(guò)程實(shí)例分析【冒泡與捕獲】
這篇文章主要介紹了js點(diǎn)擊事件的執(zhí)行過(guò)程,結(jié)合實(shí)例形式分析了js事件機(jī)制中的冒泡與捕獲相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-04-04詳解Webpack如何引入CDN鏈接來(lái)優(yōu)化編譯后的體積
這篇文章主要介紹了詳解Webpack如何引入CDN鏈接來(lái)優(yōu)化編譯后的體積,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06JavaScript中你不得不知道的Promise高級(jí)用法分享
在JavaScript中,Promise是一種解決異步編程問(wèn)題的重要方式,本文主要來(lái)和大家探討一下23個(gè)Promise的高級(jí)用法,每一個(gè)都在JavaScript的海洋中航行,讓開(kāi)發(fā)者們能夠以更高效、優(yōu)雅的方式處理異步操作,希望對(duì)大就有所幫助2023-12-12利用js動(dòng)態(tài)添加刪除table行的示例代碼
本篇文章主要是對(duì)利用js動(dòng)態(tài)添加刪除table行的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12IE6-IE9使用JSON、table.innerHTML所引發(fā)的問(wèn)題
這篇文章主要介紹了IE6-IE9使用JSON、table.innerHTML所引發(fā)的問(wèn)題 ,需要的朋友可以參考下2015-12-12Bootstrap自動(dòng)適應(yīng)PC、平板、手機(jī)的Bootstrap柵格系統(tǒng)
這篇文章主要介紹了Bootstrap自動(dòng)適應(yīng)PC、平板、手機(jī)的Bootstrap柵格系統(tǒng)的相關(guān)資料,需要的朋友可以參考下2016-05-05event.X和event.clientX的區(qū)別分析
解釋一下event.X和event.clientX有什么區(qū)別?event.clientX返回事件發(fā)生時(shí),mouse相對(duì)于客戶窗口的X坐標(biāo) event.X也一樣但是如果設(shè)置事件對(duì)象的定位屬性值為relative2011-10-10BootStrap與validator 使用筆記(JAVA SpringMVC實(shí)現(xiàn))
這篇文章主要介紹了BootStrap與validator 使用筆記(JAVA SpringMVC實(shí)現(xiàn))的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09