2015-03-19 create php alternative for myslq_result in mysqli(PHP)--PDO Tutorial for Mysql Developers

來源:http://www.bestwebframeworks.com/tutorials/php/152/create-php-alternative-for-mysql_result-in-mysqli/


內容:

If you are migrating from PHP 5.5 to a newer version of PHP - you might be interested in a?MySQL to MySQLi/PDO migration guide?- and use the?function mysql_result()?you might get a notice (in case your error_reporting is set to show deprecated warnings) that this function is deprecate. Since there is no 1:1 alternative you can build your own alternative in MySQLi like shown below:

代碼:

1
2
3
4
5
6
7
????function?mysqli_result($result,$row,$field?=0){
????????????//adjust?the?result?pointer?to?that?specific?row
????????????$result->date_seek($row);
????????????//?Fetch?rsult?array
????????????$data?=?$result->fetch_array();
????????????return?$data[$field];
????}

-----

PDO Tutorial for Mysql Developers

來源:http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

why user pdo?

??? mysql_* functions are getting old. For a long time now mysql_* has been at odds with other common SQL database programing interface. It doesn't support modern SQL database concepts such as prepared statements,stored procs,transactions etc...

connectiong to mysql?

old way:?

??? <?php?

????????$link = mysql_connect('localhost','user','pass');

????????mysql_select_db('testdb',$link);

????????mysql_set_charset('UTF-8',$link);

new way :all you gotta do is create a new PDO object.

??????????? PDO's constructor takes at most 4 parameters--DSN,username,password, and an array of driver options.

????????????A DSN is basically a string of options that tell PDO which driver to use,and the connection details...

????????<?php

????????????$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8','username','password');

NOTE:

????If you get an error about character sets, make sure you add the chaset parameter to the DSN. Adding the charset to the DSN is very important for security reasons,most examples you'll see around leave it out.?

????MAKE SURE TO INCLUDE THE CHARSET

????You can also pass in several driver options as an array to the fourth parameters.

????

1
2
<?php
????$db?=?new?PDO('mysql:host=localhost;dbname=testdb;charset=utf8',?'username',?'password',?array(PDO::ATTR_EMULATE_PREPARES?=>?false,?????????????????????????????????????????????????????????????????????????????????????????????PDO::ATTR_ERRMODE?=>?PDO::ERRMODE_EXCEPTION));

you can also set some attributes after PDO construction with the setAttribute method:

<?php
$db?=?new?PDO('mysql:host=localhost;dbname=testdb;charset=utf8',?'username',?'password');
$db->setAttribute(PDO::ATTR_ERRMODE,?PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES,?false

Error Handling

????Consider your typical mysql_error handling?

1
2
3
????<?php
????//connected?to?mysql?
????$result?=?mysql_query("select?*?from?table",$link)?or?die(mysql_error($link));

?? OR die is a? pretty bad way to handle errors, yet this is typical mysql code.You can't handle die(); as it will just end the scipt abruptly and then echo the error to the screen which you usually do NOT want to show to your end users allowing nasty hackers discover your schema.

????PDO has three error handling modes.

本文轉自孤舟夜航之家博客51CTO博客,原文鏈接http://blog.51cto.com/cysky/1622129如需轉載請自行聯系原作者


cysky

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540318.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540318.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540318.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉載] [OpenGL] shadow mapping(實時陰影映射)

參考鏈接&#xff1a; Java中靜態函數的陰影(方法隱藏) 轉載原創&#xff1a;ZJU_fish1996 http://blog.csdn.net/zju_fish1996/article/details/51932954 source:原文地址 code:點擊可以直接下載源代碼 1978年&#xff0c;Lance Williams在其發表的論文《Casting cur…

[轉載] java synchronized靜態同步方法與非靜態同步方法,同步語句塊

參考鏈接&#xff1a; Java中的靜態方法與實例方法 java synchronized靜態同步方法與非靜態同步方法&#xff0c;同步語句塊 并發編程 線程同步 靜態方法鎖 非靜態方法鎖 同步塊 進行多線程編程&#xff0c;同步控制是非常重要的&#xff0c;而同步控制就涉及到了鎖。 對代…

SpringBoot安裝和創建簡單的Web應用

SpringBoot安裝 方式一&#xff1a; Eclipese->Help->Eclipse Marketplace ->Finde STS -> Install 注意&#xff1a;安裝過程中挺慢&#xff0c;而且可能會報錯&#xff0c;報錯時需要重復以上步驟&#xff08;重新安裝STS后&#xff0c;安裝進度接之前的繼續進行…

[轉載] JAVA 堆棧 堆 方法區 靜態區 final static 內存分配 詳解

參考鏈接&#xff1a; 在Java中為靜態最終static final變量分配值 轉載來源&#xff1a;https://blog.csdn.net/peterwin1987/article/details/7571808 Java棧與堆 堆:順序隨意 棧:后進先出(Last-in/First-Out). Java的堆是一個運行時數據區,類的對象從中分配空間。這些…

android學習之-Style樣式的定義

這個例子主要是寫了配置文件&#xff0c;main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:orientation"vertical" android:lay…

[轉載] JAVA泛型雜談--擦除,協變,逆變,通配符等

參考鏈接&#xff1a; Java中的協變返回類型 在《JAVA核心思想》這本書里&#xff0c;關于泛型的章節意外的很多&#xff0c;小小的泛型里其實有很多可以學習的內容&#xff0c;我總結下最近看書的成果。 一. 泛型的好處和應用 最基礎的用到泛型的地方無非是在容器里 使用…

ASP.NET Session 詳解

[ASP.NET] Session 詳解 開發者在線 Builder.com.cn 更新時間:2008-03-23作者&#xff1a;黑暗凝聚力量&#xff0c;墮落方能自由 來源:CSDN 本文關鍵詞&#xff1a; Web開發 ASP session 詳解 本文僅代表作者個人觀點&#xff0c;正確與否請讀者自行研究&#xff01;閱讀本文…

[轉載] java給對象中的包裝類設置默認值

參考鏈接&#xff1a; Java中的對象類Object 處理方法如下 主要適用于&#xff0c;對象中使用了包裝類&#xff0c;但是不能給null需要有默認值的情況 /** * 處理對象中包裝類&#xff0c;因為快捷簽沒有用包裝類 * * param object 對象 */ public static void handlePara…

hadoop namenode管理元數據機制

一、簡要namenode管理元數據機制&#xff1a; 二、詳細namenode管理元數據機制&#xff1a; 三、secondary namenode 合并edits和fsimage&#xff1a; 四、namenode存儲元數據細節&#xff1a; 五、checkpoint觸發點&#xff1a; 本文轉自lzf0530377451CTO博客&#xff0c;原文…

[轉載] 多線程詳解java.util.concurrent

參考鏈接&#xff1a; java.lang.Object的靈活性 一、多線程 1、操作系統有兩個容易混淆的概念&#xff0c;進程和線程。 進程&#xff1a;一個計算機程序的運行實例&#xff0c;包含了需要執行的指令&#xff1b;有自己的獨立地址空間&#xff0c;包含程序內容和數據&#…

BABOK - 企業分析(Enterprise Analysis)概要

描述 企業分析描述我們如何捕捉、提煉并明晰業務需要&#xff0c;并定義一個可能實現這些業務需要的一個方案范圍&#xff0c;它包括問題定義和分析&#xff0c;業務案例開發&#xff0c;可行性研究和方案范圍定義 目的 明確業務戰略需要和目標&#xff0c;并建議方案范圍 任務…

6、EIGRP配置實驗之負載均衡

1、實驗拓撲 2、負載均衡原理 等價負載均衡&#xff1a;默認情況下EIGRP只支持等價負載均衡&#xff0c;默認支持4條線路的等價負載均衡&#xff0c;可以通過show ip protocols 查看&#xff0c;最大可以支持16條線路的等價負載均衡&#xff0c;可以在EIGRP路由進程下通過maxim…

[轉載] 詳解Java中靜態方法

參考鏈接&#xff1a; Java中的靜態類 定義&#xff1a; 在類中使用static修飾的靜態方法會隨著類的定義而被分配和裝載入內存中&#xff1b;而非靜態方法屬于對象的具體實例&#xff0c;只有在類的對象創建時在對象的內存中才有這個方法的代碼段。 注意&#xff1a; 非靜態…

[轉載] 向集合中添加自定義類型--建議在自定義類型的時候要重寫equals方法

參考鏈接&#xff1a; Java重寫equals方法 package com.bjpowernode.t01list; import java.util.ArrayList; /* * 向集合中添加自定義類型 */public class TestList04 { public static void main(String[] args) { ArrayList list new ArrayList(); Student s1 new Stude…

[轉載] java重寫toString()方法

參考鏈接&#xff1a; 在Java中重寫toString() 前言&#xff1a; 在你興高采烈的寫完一個類&#xff0c;創建測試類時&#xff0c;創建對象&#xff0c;傳入參數&#xff0c;調用對象&#xff0c;以為會得到參數值&#xff0c;但突然發現輸出的是“ 類名什么東東&#xff1f;&…

haproxy+keepalived實現負載均衡及高可用

HAProxy是一個使用C語言編寫的自由及開放源代碼軟件&#xff0c;其提供高性能性、負載均衡&#xff0c;以及基于TCP和HTTP的應用程序代理。相較與 Nginx&#xff0c;HAProxy 更專注與反向代理&#xff0c;因此它可以支持更多的選項&#xff0c;更精細的控制&#xff0c;更多的健…

[轉載] Java中變量與常量

參考鏈接&#xff1a; Java中的實例變量隱藏 1、變量的定義&#xff1a;定義變量就是要告訴編譯器這個變量的數據類型&#xff0c;這樣編譯器才知道需要分配多少空間給它&#xff0c;以及它能存放什么樣的數據。在程序運行過程中空間的值是變化的&#xff0c;這個內存空間就成…

Linux-實用快捷鍵操作

博文說明【前言】&#xff1a; 本文將通過個人口吻介紹Linux下一些常用的實用快捷鍵&#xff0c;在目前時間點【2017年6月14號】下&#xff0c;所掌握的技術水平有限&#xff0c;可能會存在不少知識理解不夠深入或全面&#xff0c;望大家指出問題共同交流&#xff0c;在后續工作…

iOS技術博客:App備案指南

&#x1f4dd; 摘要 本文介紹了移動應用程序&#xff08;App&#xff09;備案的重要性和流程。備案是規范App開發和運營的必要手段&#xff0c;有助于保護用戶權益、維護網絡安全和社會秩序。為了幫助開發者更好地了解備案流程&#xff0c;本文提供了一份最新、最全、最詳的備…

[轉載] Java中靜態成員變量,靜態代碼塊,靜態內部類何時被初始化?

參考鏈接&#xff1a; Java中的初始化程序塊Initializer Block 關于這個問題&#xff0c;本文不扯理論&#xff0c;直接上代碼&#xff0c;通過結果來驗證結論&#xff0c;廢話少說&#xff0c;測試代碼如下&#xff1a; public class StaticTest { public static StaticMem…