php链php连接数据库库问题

关于PHP数据库连接页面显示的问题
关于PHP数据库连接页面显示的问题 5
我的连接数据库是可以插入成功,但是显示不出来。具体如下:
服务器: localhost 数据库: test& 密码为空
这个是我表的结构
以下是我的连接数据库代码、和显示数据库代码
到了浏览页面显示不出数据库表里的内容。当查看源代码时是这样的
&table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef"&&?$sql="select * from message";$quary=mysql_query($sql);while ($www=mysql_fetch_array($quary)) {?&& &tr bgcolor="#eff3ff"&& &td&标题:&?=$www[title]?&&/td& &td&用户:&?=$www[user]?&&/td&& &/tr&& &tr bgColor="#ffffff"&& &td&内容:&?=$www[content]?&&/td&&td&&/td&& &/tr&& &?&}& ?&&/table&
请高手帮忙指点下,谢谢。。未接来电 回答:0 人气:0 提问时间: 14:00
不区分大小写匿名
html 标记 不是php里面的内容,你直接写在php中肯定读取不出来数据 这样写才可以:
echo "&tr&&td&$row[0]&/td&&td&$row[1]&/td&&/tr&";
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号php连接sqlserver 数据库的问题?
php连接sqlserver 数据库的问题?
这个问题搞了很久,一直连接不上数据库! 提示:Unable to connect to server: localhost错误如下方法测试成功l: 配置不对,或者是php环境本身的库问题。
1:在php.ini文件里设置如下,找到 ;extension=php_mssql.dll 把前面的分号去掉。&2:找到extension_dir = d:\extension\ 把d:\extension\&换成php_mssql.dll所在的目录路径。php_mssql.dll文件在你所安装的php程序的目录内。可以先从硬盘搜索一下php_mssql.dll找到位置,再copy过来。&3:把ntwdblib.dll拷贝到c:\winnt\system32目录下。
ntwdblib.dll的主要作用是提供sql server连接服务。 我用的wamp5版本,在安装它的服器的 windows/system32/ 下我查到ntwdblib.dll文件的版本是.0 ,这个版本支持的是sql server 7.0, 因为安装PHP时会把dlls下面的所有文件覆盖到系统 目录下,所以当我用它去连接 sql server 2005 的时候当然会是无法连接了。 后来我在一台正常安装sql server 2005的服务器上查到 ntwdblib.dll的版本是<font size="3" color="#00.80.194.0&,sql2005的ntdblib.dll文件拷贝过来覆盖到本机的windows/system32下,重启服务器后,一 切正常。
这个文件可以从http://download.pchome.net/dll/n/redirectsrv-.html下载到。?如果没有下载ntwdblib.dll的版本是<font size="3" color="#00.80.194.0 可以用数据库的服务器名称,也是可以连接的。 补充:如果数据库名的开头是数字时也会提示无法打开,这时要做的很简单,把数据库的名字用中括号 [ ] 括起来就搞定了,如 123bbs 改写成 [123bbs]就没有问题了,另外如果你的数据库名字与sql server中的保留字冲突的话也会出现这种情况,用中括号的方法一样可以解决。
在经过一系列流言谍影之后,传说中的 Google
Phone真面目似乎开始逐渐变得明晰起来。这两天twitter上出现了不少据称是 Google 雇员透露的关于 Google
Phone的信息,...
Google 周一发布了5.0版 Google 地球软件,较上一版本加入了海洋图层.这一功能被业内称为“ Google 海洋”. 然而, Google 高级副总裁玛丽莎-梅耶尔周二表示, Google 内部代号为“海洋”的项目并不
MySQL数据的导出和导入工具:mysqldump
导出要用到MySQL的mysqldump工具,基本用法是:
shell& mysqldump [OPTIONS] database [tables]
如果你不给定任何表,整个数据库将被导出。
操作日志表的所有记录
查询结果:
Server ODBC 驱动程序、
Server OLE DB 提供程序或 System.Data.SqlClient 管理提供程序时,可以通过使用各自的应用程序编程接口 (API) 来禁用连接池。当您禁用了连接池后
Calendar就一直是弥缝最喜欢的GTD工具。LH上介绍了一个如何使用Homepage直接从OutLook 2007中浏览 Google
Calendar的方法,这里分享给大家: 右击Outlook中的日历,选择“属性”; 在Home
【字符型】
VARCHAR?VS?CHAR
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。
假如你向一个长度为四十个字符的VARCHAR型字段中输入数据B
Win2k 上安装
Server 2000 时常见问题有如下:
(1)配置服务器时中断.
(2)注册 ActiveX 时中断.
(3)显示到100%的时候中断.
(4)提示:command line option syntax err
Server 2005中查询优化器使用的统计信息三(zt)
Server 2005
在数据库、表、索引或者统计信息对象级别维护自动更新统计信息的设置。当某人使用
sp_autosta
下面是手动删除:
Server 的特定实例
Server 的某个特定实例,请按照以下步骤操作:
找到并删除%drive%:&#92;Program Files&#92;Microsoft
Powered by
[ RssXN(build:
070517 Asp.net 2.0)]
每隔1小时自动更新一次今天在朋友的电脑上使用navicat来查看数据库,可是发现一直连接不上,总是会提示连接数据库失败(Can&#8217;t connect to MySQL server on localhost(10061) ),一开始以为是自己忘记或者输入错误了密码,可是换了好几个都不对,最后测试服务器下的php程序运行良好,在里面查看连接MySQL用的用户名密码拿来测试还是不行。然后猜想可能是wamp服务出问题了把,就重新安装了wamp server,结果问题依旧。无奈的我决定google查找答案(心里是觉得见鬼了……为啥php里没问题,phpmyadmin没问题就偏偏Navicat不行)。
最后找到解决方法,其实比较简单:MySQL数据库默认不允许这些客户端工具进行连接,需要修改my.ini配置,在[mysqld]这一节中添加一行,内容如下就好
bind-address = 0.0.0.0
&& 本文固定链接:
&& 转载请注明:
您可能还会对这些文章感兴趣!我用PHP连接数据库之后插入数据,但是数据库里只有密码的值,用户名和邮箱是空白的,不知道为什么-中国学网-中国IT综合门户网站
> 我用PHP连接数据库之后插入数据,但是数据库里只有密码的值,用户名和邮箱是空白的,不知道为什么
我用PHP连接数据库之后插入数据,但是数据库里只有密码的值,用户名和邮箱是空白的,不知道为什么
转载 编辑:李强
为了帮助网友解决“我用PHP连接数据库之后插入数据,但是数”相关的问题,中国学网通过互联网对“我用PHP连接数据库之后插入数据,但是数”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:我用PHP连接数据库之后插入数据,但是数据库里只有密码的值,用户名和邮箱是空白的,不知道为什么,具体解决方案如下:解决方案1:建议楼主仔细查看下,那么说明的sql执行成功了这个你最好把代码发出来,但是数据值或者表名错误或者字段格式不对,错误原因可能是1,传递值错误,你检查下自己的拼写是不是有错误,或者查看你的sql语句虽然执行成功,不是大问题,如果只有密码,用户名和邮箱解决方案2:谢谢!通过对数据库的索引,我们还为您准备了:问:php问题,初学php连接上数据库,无法插入数据,直接在数据库里面能插入...答:SQL语句有误,应改为 $sql = "insert into news(title,dates,contents) values('$title',now(),'$con')";===========================================问:&?php mysql_connect("localhost","root","111")or die("数据库连接失败...答:看看你网页的代码: $sql="insert into 'test'('id','title','dates','contents')values(null,'$title',now(),'$content')"; mysql_query($sql); echo "插入成功"; 你这个代码插入成功失败都会显示成功,没有真正判断是否插入成功,一般应该这样...===========================================问:确保插入语句写的是正确的,数据库是连接上了答:打印数据库返回结果===========================================问:是这样的,我设计的数据库userID是自增的,所以不用用户填写,我在一个...答:一、插入后生成的ID有函数获得: $userID=mysql_insert_id(); 二、用名字应该也可以查,无需关闭数据库,如果你查不出来,你可以把插入和查询的SQL显示到网页上进行调试,可能是变量赋值有问题。===========================================问:conn.php &?php $conn=mysql_connect("localhost","root","")or die("my...答: $sql="insert into 'news'('id','title','dates','contents') values(null,'$title',now(),'$con')"; 改成 $time= time(); $sql="insert into news('title','dates','contents') values('$title','$time','$con')";===========================================问:conn.php代码 &?php @mysql_connect("localhost:3306","root","")or die...答:你先输出sql语句看看是什么,conn也写的有问题.百度搜 php MySQL类===========================================问:&?php class mysql_connect{ private $ private $ private $p...答:$db = new mysql_connect('localhost','root','','bbs');应该4个参数(第四个参数是数据库名称) $db-&fn_insert(`test`,`id`,`title`,`dates`,"``,`我插入的信息`,`now()`");应该3个参数,而且你这语法也错误===========================================问:请哪位大侠检查下,看我的代码有毛病吗?我是按照食品来写的代码,课为...答:include("conn.php"); if ($_POST['submit']){ extract($_POST); $lastdate=date("Y-m-d",time()); $sql="insert into message(id,user,title,content,lastdate) " . "values('','$user','$title','$content','$lastdate')"; mysql_query($sql);...===========================================问:在a.php 中使用 $link = mysqli_init(); 然后连接,执行插入语句都可以...答:每个php文件需要链接一次数据库就可以了。 此后文件内的数据库链接,都会默认使用上一次的链接。 当然你也可以写个数据库链接的php文件,把他包含到其他的需要用到的php文件中 然后就是框架的话,定义好数据库配置就不需要管了。 把link保存的se...===========================================这个软件用过,但是感觉还没有phpmyadmin好用, 我记得好像有个权限的吧, 貌似这个软件里面好像有权限设置的, 针对某个数据链接的账号, 你看看咯。 我大约记得是这样的,===========================================这种情我遇到过,以前也是这样的;后台数据库的编码为GB2312,但前台显示和后台显都采... 6.接正就直接连接新的数据库显示就为正常的UTF8数据了,直接用软件打开也不会出现...===========================================把你的eclipse的字符集改成GBK的就可以了,然后数据库的my.ini配置文件里面的默认字符集也换成gbk的就可以了===========================================你在建表和php代码的字符格式要统一,要么都是GBK的,要么都是UTF的,在连接数据库的时候,可以加上mysql_query("SET NAMES UTF8");===========================================看你的图就是你有连接数据库服务器,也做了表的相关操作,但是你根本没有选择数据库啊,就是你要用到的这个表在的那个库。 正常的是1.$link = mysql_connect($hostname,$u...=========================================== mysql_query($sql,$con1);试试。===========================================首先检查:1. 显示数据的页面是UTF8编码吗?2. 建立数据库的时候,表编码是UTF8吗?估计你这个情况是数据库表的编码字符集不是UTF8修改一下就可以了===========================================怎么没看到连接数据库的代码?是不是忘了写了还是没写啊?你可以把你的$sql打印出来看看对不对。 如果有连接,那你把sql语句改成这样看看: $sql="INSERT INTO me...===========================================这个很好弄啊,你点进去一张表以后,最上边有一排按钮,浏览,结构,插入什么的,你想插入数据直接点插入那个标签就进去了,想看表的话就点浏览,还有别的一些功能===========================================你的意思是不是说更新啊,数据库四个基本操作:增、删、改、查。你要是让插入的数据代替原来的数据需要用更新命令不是删除命令。===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助phpPDO连接mysql
最近在linux装了新的环境,php5.6+mysql5.5+nginx。然后用原来的mysql链接出现的错误。
原因就是说连接数据库的方法太旧。建议我用mysqli和PDO来连接数据库。
好吧,咱也不能落后,使用mysqli的确也简单了不少,但是PDO貌似更简单。效率也会得到提升。根据官方文档,貌似对于sql注入的一些风险也做了屏蔽。所以今天写的 博客就是关于php用PDO连接mysql的一些介绍啦!
【PDO是啥】
PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等扩展来连接MySQL、PostgreSQL、MS SQL Server、SQLite,同样的,我们必须借助 ADOdb、PEAR::DB、PHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,php代码的效率怎么能够我们直接用C/C++写的扩展效率高捏?所以嘛,PDO的出现是必然的,大家要平静学习的心态去接受使用,也许你会发现能够减少你不少功夫哦。
下面说说PDO基于php的版本:
PDO 是 PHP 5.1 发行的,也就是说,在 5.1 之前的版本是不支持 PDO,5.1之后的都支持啦。在PHP5.0的PECL扩展中也可以使用。
PDO如何使用:
这里我们就以PHP的黄金搭档mysql作为例子看看:
PDO_MYSQL:PDO_MYSQL是PDO接口能够完成连接my的驱动(注:仅使用于mysql 3.x以上版本)。
安装:打开php.ini文件,可以找到如下代码,这里可以看到mysql的驱动默认已经打开(前面没有用于注释的分号),如有连接其他数据库的需要,自行添加其他数据库的驱动程序(取出相应的项前面的分号,没有的添上)。
//各数据库的PDO驱动
extension=php_pdo.dll
extension=php_pdo_firebird.dll //Firebird
extension=php_pdo_informix.dll //Informix
extension=php_pdo_mssql.dll
//sql server
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
//PostgreSQL
extension=php_pdo_sqlite.dll
连接:通过创建PDO基类的实例创建连接。
//连接到数据库
$db = new PDO(&#39;mysql:host=dbname=test&#39;, $user, $pass);
简单的查询方法:
header(&#39;content-type:text/charset=utf-8&#39;);
$db = new PDO(&#39;mysql:host=127.0.0.1;dbname=test&#39;, &#39;root&#39;, &#39;&#39;);
$rows = $db-&query(&#39;SELECT * from members&#39;)-&fetchAll(PDO::FETCH_ASSOC);
$rs = array();
foreach($rows as $row) {
} catch (PDOException $e) {
print &Error!: & . $e-&getMessage() . &&br/&&;
print_r($rs);
不明白啥意思,俺们来慢慢讲讲。这行:
$dsn = &mysql:host=127.0.0.1;dbname=test&;
就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test,就这么几个信息。不同数据库的数据源构造方式是不一样的。
$db = new PDO($dsn, &#39;root&#39;, &#39;&#39;);
初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码。我们不能保证连接成功,后面我们会讲到异常情况,这里我们姑且认为它是连接成功的。
$count = $db-&exec(&INSERT INTO foo SET name = &#39;heiyeluren&#39;,gender=&#39;男&#39;,time=NOW()&);
调用我们连接成功的PDO对象来执行一个查询,这个查询是一个插入一条记录的操作,使用PDO::exec() 方法会返回一个影响记录的结果,所以我们输出这个结果。最后还是需要结束对象资源:
默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT =& true)变成这样:
$db = new PDO($dsn, &#39;root&#39;, &#39;&#39;, array(PDO::ATTR_PERSISTENT =& true));
一次操作就这么简单,也许跟以前的没有太大区别,跟ADOdb倒是有几分相似。
使用setFetchMode方法来设置获取结果集的返回值的类型,同样类型还有:
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是缺省的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()
$db-&query($sql); 当$sql 中变量可以用$dbh-&quote($params); //转义字符串的数据
php pdo statement
PDOStatement::bindColumn & 绑定一列到一个
PDOStatement::bindParam & 绑定一个参数到指定的变量名
PDOStatement::bindValue & 把一个值绑定到一个参数
PDOStatement::closeCursor & 关闭游标,使语句能再次被执行。
PDOStatement::columnCount & 返回结果集中的列数
PDOStatement::debugDumpParams & 打印一条 SQL 预处理命令
PDOStatement::errorCode & 获取跟上一次语句句柄操作相关的 SQLSTATE
PDOStatement::errorInfo & 获取跟上一次语句句柄操作相关的扩展错误信息
PDOStatement::execute & 执行一条预处理语句
PDOStatement::fetch & 从结果集中获取下一行
PDOStatement::fetchAll & 返回一个包含结果集中所有行的数组
PDOStatement::fetchColumn & 从结果集中的下一行返回单独的一列。
PDOStatement::fetchObject & 获取下一行并作为一个对象返回。
PDOStatement::getAttribute & 检索一个语句属性
PDOStatement::getColumnMeta & 返回结果集中一列的元数据
PDOStatement::nextRowset & 在一个多行集语句句柄中推进到下一个行集
PDOStatement::rowCount & 返回受上一个 SQL 语句影响的行数
PDOStatement::setAttribute & 设置一个语句属性
PDOStatement::setFetchMode & 为语句设置默认的获取模式。
插入,更新,删除数据,
$db-&exec(&DELETE FROM `xxxx_menu` where mid=43&);
讲一下PDO中的事务
PDO-&beginTransaction(),PDO-&commit(),PDO-&rollBack()这三个方法是在支持回滚功能时一起使用的。PDO-&beginTransaction()方法标明起始点,PDO-&commit()方法标明回滚结束点,并执行SQL,PDO-&rollBack()执行回滚。
$dbh = new PDO(&#39;:host=dbname=test&#39;, &root&#39;, &);
$dbh-&query(&#39;set names utf8;&#39;);
$dbh-&setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh-&beginTransaction();
$dbh-&exec(&INSERT INTO `test`.`table` (`name` ,`age`)VALUES (&#39;mick&#39;, 22);&);
$dbh-&exec(&INSERT INTO `test`.`table` (`name` ,`age`)VALUES (&#39;lily&#39;, 29);&);
$dbh-&exec(&INSERT INTO `test`.`table` (`name` ,`age`)VALUES (&#39;susan&#39;, 21);&);
$dbh-&commit();
} catch (Exception $e) {
$dbh-&rollBack();
echo &Failed: & . $e-&getMessage();
现在你已经通过PDO建立了连接,在部署查询之前你必须搞明白PDO是怎样管理事务的。如果你以前从未遇到过事务处理,(现在简单介绍一下:)它们提供了4个主要的特性:原子性,一致性,独立性和持久性(Atomicity, Consistency, Isolation and Durability,ACID)通俗一点讲,一个事务中所有的工作在提交时,即使它是分阶段执行的,也要保证安全地应用于数据库,不被其他的连接干扰。事务工作也可以在请求发生错误时轻松地自动取消。
事务的典型运用就是通过把批量的改变&保存起来&然后立即执行。这样就会有彻底地提高更新效率的好处。换句话说,事务可以使你的脚本更快速同时可能更健壮(要实现这个优点你仍然需要正确的使用它们)。
不幸运的是,并不是每个数据库都支持事务,因此PDO需要在建立连接时运行在被认为是&自动提交&的模式下。自动提交模式意味着你执行的每个查询都有它自己隐含的事务处理,无论数据库支持事务还是因数据库不支持而不存在事务。如果你需要一个事务,你必须使用 PDO-&beginTransaction() 方法创建一个。如果底层驱动不支持事务处理,一个PDOException就会被抛出(与你的异常处理设置无关,因为这总是一个严重的错误状态)。在一个事物中,你可以使用 PDO-&commit() 或 PDO-&rollBack() 结束它,这取决于事务中代码运行是否成功。
当脚本结束时或一个连接要关闭时,如果你还有一个未处理完的事务,PDO将会自动将其回滚。这是对于脚本意外终止的情况来说是一个安全的方案&&如果你没有明确地提交事务,它将会假设发生了一些错误,为了你数据的安全,所以就执行回滚了。
PDOException
PDO 提供了3中不同的错误处理策略。
1. PDO::ERRMODE_SILENT
这是默认使用的模式。PDO会在statement和database对象上设定简单的错误代号,你可以使用PDO-&errorCode() 和 PDO-&errorInfo() 方法检查错误;如果错误是在对statement对象进行调用时导致的,你就可以在那个对象上使用 PDOStatement-&errorCode() 或 PDOStatement-&errorInfo() 方法取得错误信息。而如果错误是在对database对象调用时导致的,你就应该在这个database对象上调用那两个方法。
2. PDO::ERRMODE_WARNING
作为设置错误代号的附加,PDO将会发出一个传统的E_WARNING信息。这种设置在除错和调试时是很有用的,如果你只是想看看发生了什么问题而不想中断程序的流程的话。
3. PDO::ERRMODE_EXCEPTION
作为设置错误代号的附件,PDO会抛出一个PDOException异常并设置它的属性来反映错误代号和错误信息。这中设置在除错时也是很有用的,因为他会有效的&放大(blow up)&脚本中的出错点,非常快速的指向一个你代码中可能出错区域。(记住:如果异常导致脚本中断,事务处理回自动回滚。)
异常模式也是非常有用的,因为你可以使用比以前那种使用传统的PHP风格的错误处理结构更清晰的结构处理错误,比使用安静模式使用更少的代码及嵌套,也能够更加明确地检查每个数据库访问的返回值。
关于PHP中异常的更多信息请看Exceptions章节
PDO 使用基于SQL-92 SQLSTATE 的错误代号字符串;特定的PDO驱动应当将自己本身的代号对应到适当的SQLSTATE代号上。PDO-&errorCode() 方法只返回单一的SQLSTATE代号。如果你需要关于一个错误的更加有针对性的信息,PDO也提供了一个PDO-&errorInfo()方法,它可以返回一个包含了SQLSTATE代号,特定数据库驱动的错误代号和特定数据库驱动的错误说明字符串。
// 修改默认的错误显示级别
$db-&setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
PDO常用方法:
PDO::query() 主要用于有记录结果返回的操作,特别是select操作。
PDO::exec()主要是针对没有结果集合返回的操作。如insert,update等操作。返回影响行数。
PDO::lastInsertId()返回上次插入操作最后一条ID,但要注意:如果用insert into tb(col1,col2)values(v1,v2),(v11,v22)..的方式一次插入多条记录,lastinsertid()返回的只是第一条(v1,v2)插入时的ID,而不是最后一条记录插入的记录ID。
PDOStatement::fetch()是用来获取一条记录。配合while来遍历。
PDOStatement::fetchAll()是获取所有记录集到一个中。
PDOStatement::fetchcolumn([intcolumn_indexnum])用于直接访问列,参数column_indexnum是该列在行中的从0开始索引值,但是,这个方法一次只能取得同一行的一列,只要执行一次,就跳到下一行。因此,用于直接访问某一列时较好用,但要遍历多列就用不上。
PDOStatement::rowcount()适用于当用query(&select...&)方法时,获取记录的条数。也可以用于预处理中。$stmt-&rowcount();
PDOStatement::columncount()适用于当用query(&select...&)方法时,获取记录的列数。
1、选fetch还是fetchall?
小记录集时,用fetchall效率高,减少从数据库检索次数,但对于大结果集,用fetchall则给带来很大负担。数据库要向WEB前端传输量太大反而效率低。
2、fetch()或fetchall()有几个参数:
mixed ptatement::fetch([int fetch_style[,int cursor_orientation [,int cursor_offset]]])
array pdostatement::fetchAll(int fetch_style)
更多的PDO方法:
PDO::beginTransaction & 启动一个事务
PDO::commit & 提交一个事务
PDO::__construct & 创建一个表示数据库连接的 PDO 实例
PDO::errorCode & 获取跟数据库句柄上一次操作相关的 SQLSTATE
PDO::errorInfo & Fetch extended error information associated with the last operation on the database handle
PDO::exec & 执行一条 SQL 语句,并返回受影响的行数
PDO::getAttribute & 取回一个数据库连接的属性
PDO::getAvailableDrivers & 返回一个可用驱动的数组
PDO::inTransaction & 检查是否在一个事务内
PDO::lastInsertId & 返回最后插入行的ID或序列值
PDO::prepare & Prepares a statement for execution and returns a statement object
PDO::query & Executes an SQL statement, returning a result set as a PDOStatement object
PDO::quote & Quotes a string for use in a query.
PDO::rollBack & 回滚一个事务
PDO::setAttribute & 设置属性
Exception::getMessage & 获取异常消息内容。
Exception::getPrevious & 返回异常链中的前一个异常
Exception::getCode & 获取异常代码
Exception::getFile & 获取发生异常的程序文件名称
Exception::getLine & 获取发生异常的代码在文件中的行号
Exception::getTrace & 获取异常追踪信息
Exception::getTraceAsString & 获取字符串类型的异常追踪信息
Exception::toString & 将异常对象转换为字符串
Exception::clone & 异常克隆
属性列表:
PDO::PARAM_BOOL
表示一个布尔类型
PDO::PARAM_NULL
表示一个SQL中的NULL类型
PDO::PARAM_INT
表示一个SQL中的INTEGER类型
PDO::PARAM_STR
表示一个SQL中的SQL CHAR,VARCHAR类型
PDO::PARAM_LOB
表示一个SQL中的large object类型
PDO::PARAM_STMT
表示一个SQL中的recordset类型,还没有被支持
PDO::PARAM_INPUT_OUTPUT
Specifies that the parameter is an INOUT parameter for a stored procedure. You must bitwise-OR this value with an explicit PDO::PARAM_* data type.
PDO::FETCH_LAZY
将每一行结果作为一个对象返回
PDO::FETCH_ASSOC
仅仅返回以键值作为下标的查询的结果集,名称相同的数据只返回一个
PDO::FETCH_NAMED
仅仅返回以键值作为下标的查询的结果集,名称相同的数据以数组形式返回
PDO::FETCH_NUM
仅仅返回以数字作为下标的查询的结果集
PDO::FETCH_BOTH
同时返回以键值和数字作为下标的查询的结果集
PDO::FETCH_OBJ
以对象的形式返回结果集
PDO::FETCH_BOUND
将PDOStatement::bindParam()和PDOStatement::bindColumn()所绑定的值作为变量名赋值后返回
PDO::FETCH_COLUMN
表示仅仅返回结果集中的某一列
PDO::FETCH_CLASS
表示以类的形式返回结果集
PDO::FETCH_INTO
表示将数据合并入一个存在的类中进行返回
PDO::FETCH_FUNC
PDO::FETCH_GROUP
PDO::FETCH_UNIQUE
PDO::FETCH_KEY_PAIR
以首个键值下表,后面数字下表的形式返回结果集
PDO::FETCH_CLASSTYPE
PDO::FETCH_SERIALIZE
表示将数据合并入一个存在的类中并序列化返回
PDO::FETCH_PROPS_LATE
Available since PHP 5.2.0
PDO::ATTR_AUTOCOMMIT
在设置成true的时候,PDO会自动尝试停止接受委托,开始执行
PDO::ATTR_PREFETCH
设置应用程序提前获取的数据大小,并非所有的数据库哦度支持
PDO::ATTR_TIMEOUT
设置连接数据库超时的值
PDO::ATTR_ERRMODE
设置Error处理的模式
PDO::ATTR_SERVER_VERSION
只读属性,表示PDO连接的服务器端数据库版本
PDO::ATTR_CLIENT_VERSION
只读属性,表示PDO连接的客户端PDO驱动版本
PDO::ATTR_SERVER_INFO
只读属性,表示PDO连接的服务器的meta信息
PDO::ATTR_CONNECTION_STATUS
PDO::ATTR_CASE
通过PDO::CASE_*中的内容对列的形式进行操作
PDO::ATTR_CURSOR_NAME
获取或者设定指针的名称
PDO::ATTR_CURSOR
设置指针的类型,PDO现在支持PDO::CURSOR_FWDONLY和PDO::CURSOR_FWDONLY
PDO::ATTR_DRIVER_NAME
返回使用的PDO驱动的名称
PDO::ATTR_ORACLE_NULLS
将返回的空字符串转换为SQL的NULL
PDO::ATTR_PERSISTENT
获取一个存在的连接
PDO::ATTR_STATEMENT_CLASS
PDO::ATTR_FETCH_CATALOG_NAMES
在返回的结果集中,使用自定义目录名称来代替字段名。
PDO::ATTR_FETCH_TABLE_NAMES
在返回的结果集中,使用自定义表格名称来代替字段名。
PDO::ATTR_STRINGIFY_FETCHES
PDO::ATTR_MAX_COLUMN_LEN
PDO::ATTR_DEFAULT_FETCH_MODE
Available since PHP 5.2.0
PDO::ATTR_EMULATE_PREPARES
Available since PHP 5.1.3.
PDO::ERRMODE_SILENT
发生错误时不汇报任何的错误信息,是默认值
PDO::ERRMODE_WARNING
发生错误时发出一条php的E_WARNING的信息
PDO::ERRMODE_EXCEPTION
发生错误时抛出一个PDOException
PDO::CASE_NATURAL
回复列的默认显示格式
PDO::CASE_LOWER
强制列的名字小写
PDO::CASE_UPPER
强制列的名字大写
PDO::NULL_NATURAL
PDO::NULL_EMPTY_STRING
PDO::NULL_TO_STRING
PDO::FETCH_ORI_NEXT
获取结果集中的下一行数据,仅在有指针功能时有效
PDO::FETCH_ORI_PRIOR
获取结果集中的上一行数据,仅在有指针功能时有效
PDO::FETCH_ORI_FIRST
获取结果集中的第一行数据,仅在有指针功能时有效
PDO::FETCH_ORI_LAST
获取结果集中的最后一行数据,仅在有指针功能时有效
PDO::FETCH_ORI_ABS
获取结果集中的某一行数据,仅在有指针功能时有效
PDO::FETCH_ORI_REL
获取结果集中当前行后某行的数据,仅在有指针功能时有效
PDO::CURSOR_FWDONLY
建立一个只能向后的指针操作对象
PDO::CURSOR_SCROLL
建立一个指针操作对象,传递PDO::FETCH_ORI_*中的内容来控制结果集
PDO::ERR_NONE (string)
设定没有错误时候的错误信息
$dbh = new PDO(&#39;mysql:host=dbname=access_control&#39;, &#39;root&#39;, &#39;&#39;);
$dbh-&setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh-&exec(&#39;set names utf8&#39;);
//$sql = &INSERT INTO `user` SET `login`=:login AND `password`=:password&;
$sql = &INSERT INTO `user` (`login` ,`password`)VALUES (:login, :password)&;
$stmt = $dbh-&prepare($sql);
$stmt-&execute(array(&#39;:login&#39;=&&#39;kevin2&#39;,&#39;:password&#39;=&&#39;&#39;));
echo $dbh-&lastinsertid();
$sql = &UPDATE `user` SET `password`=:password WHERE `user_id`=:userId&;
$stmt = $dbh-&prepare($sql);
$stmt-&execute(array(&#39;:userId&#39;=&&#39;7&#39;, &#39;:password&#39;=&&#39;d86fd8bb10d9&#39;));
echo $stmt-&rowCount();
$sql = &DELETE FROM `user` WHERE `login` LIKE &#39;kevin_&#39;&; //kevin%
$stmt = $dbh-&prepare($sql);
$stmt-&execute();
echo $stmt-&rowCount();
$login = &#39;kevin%&#39;;
$sql = &SELECT * FROM `user` WHERE `login` LIKE :login&;
$stmt = $dbh-&prepare($sql);
$stmt-&execute(array(&#39;:login&#39;=&$login));
while($row = $stmt-&fetch(PDO::FETCH_ASSOC)){
print_r($row);
print_r( $stmt-&fetchAll(PDO::FETCH_ASSOC));
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。

我要回帖

更多关于 php怎么连接数据库 的文章

 

随机推荐