msww.net
当前位置:首页 >> php pDo执行sql语句 >>

php pDo执行sql语句

$conn=new PDO("mysql:host=localhost;dbname=webdata","user","pwd");//声明pdo对象$sth=$conn->prepare("select * from books");//建立pdostatement对象$sth->execute();//执行查询while($res=$sth->fetch(PDO::FETCH_ASSOC))//输出数据{ echo("<div>".$res["bid"].":".$res["title"]."--".$res["author"]);}

原帖由 于 2008-9-24 14:37 发表 [i][/url]网上搜了一天, 也没搜到结果. 似乎没有办法获取最终执行的SQL语句. 这样调试起来比较麻烦. [/b]PDOStatement只对value做处理,prepare的就是一个sql pattern.你传的什么sql pattern,执行的就是那个结果.想知道具体执行的sql的话,把execute进去的的array dump出来就对了~只要本身sql调试的时候没错,做成pattern时没笔误,传入的参数没错,结果必然没错~

打印sql语句,直接在你执行SQL语句后输出$queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace('?', '"'.'%s'.'"', $a["query"]); echo vsprintf($tmp, $a['bindings']); exit; 实例:<?php Route::get('/', function() {$arr['name']='zhuo';

price前面加$ 因为实在php的环境 而不是sql

你的问题挺迷糊的,是不是没改变内容update返回false啊,你要用===true来确定update成功

其实不是全部这样的,你也可以直接query.prepare后其实并没有向数据库提交任何请求,也就是说sql语句还没有执行,只是“准备”好了一个SQL语句,你需要调用execute方法,才真正的执行.而query等于prepare+execute方法.之所以用

当然可以.把存储过程写清楚,把你需要做的业务在里面写好,然后直接调用执行就行了.

打印sql语句,直接在你执行SQL语句后输出$queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace('?', '"'.'%s'.'"', $a["query"]); echo vsprintf($tmp, $a['bindings']); exit;实例:{$arr['name']='zhuo';$arr['email']='zhuowenji@163.

主要是三条语句:1、声明一个PDO对象:$conn = new PDO("");2、运用exec函数:$sql="DELETE FROM fruit WHERE colour = 'red'";sql语句不能是select操作,select操作用这个函数不会返回结果$count = $conn->exec($sql);3、输出结果:print("Deleted $count rows.\n");

//连接、查询try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null;//释放资源} catch (PDOException $e) { print "错误!: " . $e->

网站首页 | 网站地图
All rights reserved Powered by www.msww.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com