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