本文实例为大家分享了两种php数据访问方式,大家可以进行比较,分析两种方式的异同,最后为大家提供了一个小练习,具体内容如下
方式一:已过时,只做了解
1.造一个连接(建立通道)
$db=mysql_connect("localhost","root","123"); //括号内是“服务器地址”,“用户名”,“密码”
2.选择操作哪个数据库
mysql_select_db("mydb","$db");
3.写sql语句
$sql="select * from Info";
4.执行sql语句
$result=mysql_query($sql); //query 有查询之意
5.从结果集($result)中取数据
$row=mysql_fetch_row($result); //每执行一次读取一行数据 $row1=mysql_fentch_row($result); //执行第二条数据 var_dump($row); //读取全部数据用循环: while($row=mysql_fetch_row($result)) { var_dump($row); }
方法二:面向对象
1.造一个连接对象:
$db=new MySQLi("localhost","root","123","mydb") //括号内的内容依次为“服务器地址”,“用户名”,“密码”,“数据库名称”
2.判断连接是否出错:
2.1 mysqli_connect_error(); //代表连接出错
2.2
if(mysqli_connect_erroe())
{
echo "连接失败!";
exit(); //退出程序
}
2.3 !mysqli_connect_error or die ("连接失败!"); //“or”前面代表连接正确,后面代表连接失败
3. 写sql语句:
$sql="select * from nation";
4. 执行sql语句:如果执行成功返回结果集对象,如果执行失败返回false
$result=$db->query($sql);
5.从结果集中读取数据,先判断是否有数据
if($result) { //返回一行数据的索引数组,每次执行返回一条数据 var_dump($result->fetch_row()); while($row=$result->fetch_row) { var_dump($row); } //返回一行数据的关联数组,每次执行返回一条数据 var_dump($result->fetch_row()); //通过二维数组返回所有数据 var_dump($result->fetch_all()); //以对象的方式返回一行数据 var_dump($result->fetch_object()); }
练习:
1.以下拉菜单的形式在页面显示nation表
$db=new MySQLi("localhost","root","","mydb"); !mysqli_connection_erroe() or die ("连接失败!"); $sql="select*from nation"; $result=$db->query($sql); if($result) { $att=$result->fetch_all(); echo "<select>"; foreach ($att as $value) { echo "<option value='{$value[0]}'>{$value[1]}</option>"; } echo "</select>"; }
2. 把Info表查出来,以表格的形式显示
$db=new MySQLi("localhost","root","","mydb"); !mysqli_connecton_error() or die("连接失败!"); $sql="select * from info"; $result=$bd->query($sql); if($result) { $att=$result->fetch_all(); echo "<table border='1' width='100%' cellpadding='0' cellspacing='0'>"; echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>"; foreach ($att as $value) { echo "<tr> <td>{$value[0]}</td> <td>{$value[1]}</td> <td>{$value[2]}</td> <td>{$value[3]}</td> <td>{$value[4]}</td> </tr>"; } echo "</table>"; } //也可以用for循环 if($result) { $arr=$result->fetch_all(); echo "<table border='1' width='100%' cellpadding='0' cellspacing='0'>"; echo "<tr><td>Code</td><td>Name</td><td>Sex</td><td>Nation</td><td>Birthday</td></tr>"; for($i=0;$i<count($arr);$i++) { echo "<tr> <td>{$arr[$i][0]}</td> <td>{$arr[$i][1]}</td> <td>{$arr[$i][2]}</td> <td>{$arr[$i][3]}</td> <td>{$arr[$i][4]}</td> </tr>"; } echo "</table>"; }
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。
本文向大家介绍PHP bin2hex()函数基础实例讲解,包括了PHP bin2hex()函数基础实例讲解的使用技巧和注意事项,需要的朋友参考一下 PHP bin2hex() 函数 实例 把 "Hello World!" 转换为十六进制值: 定义和用法 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。 语法 实例 1 把一个字符
本文向大家介绍实例讲解php实现多线程,包括了实例讲解php实现多线程的使用技巧和注意事项,需要的朋友参考一下 我们首先来看一个示例 当执行上述操作时,即使在耗时的处理结束之前也显示处理完成。 由于“ > / dev / null& ”返回的值丢失,我们不会等待响应。 因此,处理完成指示比耗时处理更快。 但是,该方法不知道耗时的处理何时结束。 不要忘记考虑采取日志的执行,登录DB等方法向用户传递执
本文向大家介绍PHP ElasticSearch做搜索实例讲解,包括了PHP ElasticSearch做搜索实例讲解的使用技巧和注意事项,需要的朋友参考一下 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的
本文向大家介绍php和nginx交互实例讲解,包括了php和nginx交互实例讲解的使用技巧和注意事项,需要的朋友参考一下 Nginx与PHP交互过程的7步走(用户对动态PHP网页访问过程) step1:用户将http请求发送给nginx服务器(用户和nginx服务器进行三次握手进行TCP连接)。 step2:nginx会根据用户访问的URL和后缀对请求进行判断。 step3:通过第二步可以看出,
本篇主要从计数DP上结合实例分析。 一、计数类DP——整数划分 整数划分大体上可以分为3类 (1)考虑顺序的拆分方案(即1,1,2;和2,1,1 是两种不同的方案),这种问题一般转化为完全背包即可解决。 (2)不考虑顺序的拆分方案,可以划分出空集(也就是可以有对拆分完全没贡献的东西存在(0)) (3)不考虑顺序的拆分方案,要求划分出的集合不为空集(不可以拆出0) 主要讨论2,3类DP问题 二、空集
本文向大家介绍Python数据处理numpy.median的实例讲解,包括了Python数据处理numpy.median的实例讲解的使用技巧和注意事项,需要的朋友参考一下 numpy模块下的median作用为: 计算沿指定轴的中位数 返回数组元素的中位数 其函数接口为: 其中各参数为: a:输入的数组; axis:计算哪个轴上的中位数,比如输入是二维数组,那么axis=0对应行,axis=1对应列