草庐IT

PDO_SQLANYWHERE

全部标签

php - MySQLi 和 PDO 有什么区别?

我最近开始学习PHP。我开始知道有很多变化,SQL现在被避免了,被MySQLi取代了。,但后来我开始了解PDO。我浏览了很多关于这两个主题的帖子,但每个人都有自己的看法,我很困惑。很多帖子说MySQLi支持面向过程和面向对象的方法,而PDO只支持面向对象的方法。我想知道的是:这两个(PDO和MySQLi)只是做同一件事的两种不同方式还是彼此不同?如果它们只是做同一件事的两种不同方法,那么它们之间有什么区别,哪种方法更好?如果学习MySQLi,面向对象和面向过程哪个更好?对于某些人来说,这似乎是一个宽泛的问题,但如果有人能对这三个问题给出具体的答案,我将不胜感激。

php - PDO SUM MYSQL 表

我边走边学,边走边捡代码片段,过去几天一直在做这件事,现在我已经认输寻求帮助。我正在尝试使用PDO计算我的数据库中2列的总和。这是我的代码getMessage();}$query="SELECTSUM(fill_up)ASTotalFill,SUM(mileage_covered)ASTotalmilesFROMfuel_cost";$row=$query->fetch(PDO::FETCH_ASSOC);$total_fill=$row['TotalFill'];$total_miles=$row['Totalmiles'];$myanswer=$total_fill/$total_

php - 在封装 PDO 事务中使用闭包不起作用。为什么?

我目前在封装PDO事务以便于使用时遇到问题;事务执行后,没有发生数据库更改!我的想法是只提供在PDO事务中需要执行的参数和可调用事务。protectedexecuteTransaction方法定义了PDO事务的封装,如下所示。而客户端方法是使用executeTransaction方法的getNextWidWithLock。我尝试将交易从关闭中移出并且成功了!它似乎没有将更改提交到数据库的原因可能是什么。classParentRepository{.../***Executesatransactionwithlogging.*@param[type]$datadatatobepassed

php - PDO 获取数据返回字符串数组

我正在尝试使用PDO从MySQL数据库中获取数据,但不幸的是PDO将结果作为字符串数组返回。我想在结果数组中保留nativeMySQL数据类型。我已经尝试将PDO::ATTR_DEFAULT_FETCH_MODE设置为PDO::FETCH_ASSOC和PDO::FETCH_OBJ但它仍然返回INT字符串形式的数据。这是转储的结果:array(size=1)0=>object(stdClass)[27]public'id'=>string'3'(length=1)public'avatar'=>string''(length=0)public'fullName'=>string'Mikh

php - PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

PDOMSSQLServer和PDOMySQL都在您获取时返回一个字符串数组,即使列的SQL类型本来是数字类型,例如int或float。我设法解决了这个问题,但我想了解为什么一开始就以这种方式设计它们。是不是PDO本身不支持(或者之前不支持)? 最佳答案 使用PDOMySQLtheunderlyingCAPI返回astructureofstrings当调用mysql_fetch_row()时。由于PHP是一种松散类型的语言,会根据需要自动转换为整数,我怀疑PDO开发人员选择按原样返回它们。这比查找每个列类型并动态转换为整数/floa

php - PDO 模拟关闭,多次绑定(bind)相同的值

我在PHP7中有以下代码。我正在使用PDO连接到MySQL。使用PDO准备语句模拟,此代码成功运行:$query=$db_con->prepare('SELECT*FROMmatchesWHEREmatches.home_team_id=:team_idORmatches.away_team_id=:team_id');$query->bindValue(':team_id',$team_id,PDO::PARAM_STR);$query->execute();return$query->fetchAll();但是对于真正的PDO准备语句(模拟关闭),前面的代码给出了一个错误,没有足够

php - 不要通过PDO连接oracle数据库和PHP

我想通过PDO和php默认连接oraclebd中的oracleSchema数据库,但它抛出这个错误:Fatalerror:UncaughtPDOException:SQLSTATE[42S02]:pdo_oci_handle_factory:ORA-12154:TNS:couldnotresolvetheconnectidentifierspecified(ext\pdo_oci\oci_driver.c:640)inC:\xampp\htdocs\ORACLE\52conexion3.php:9Stacktrace:#0C:\xampp\htdocs\ORACLE\52conexio

php - pdo select 语句不返回任何行

我正在使用PHP从mySQL中进行简单的选择。我做错了一些我似乎无法追查的事情。这是我的陈述:$storyTitle=$_GET['title'];$storyDate=urldecode($_GET['date']);$SQL="SELECT*FROMtblContentWHEREREPLACE(contentTitle,'','-')=:storyTitleANDdate(publishDate)=date(:storyDate)";$conn=newPDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);$q=$conn-

php - PDO 和 SSH2 隧道

有没有什么方法可以使用PDO和SSH隧道连接到数据库,并且不要像下面的主题那样在命令行中执行任何代码?Zend_Db:HowtoconnecttoaMySQLdatabaseoverSSHtunnel?预先感谢您的回答。 最佳答案 我能够使用ssh2_tunnel、socket_create_listen()和pcntl_fork的组合来做到这一点。基本上隧道是我们想要用来连接到MySQL盒子上的端口的东西,但是因为PDO不支持通过套接字连接我们必须通过socket_create_listen在专用的phpfork上创建一个端口它只

php - PDO连接不上,但是mysql_connect可以(没有PW)

我真的遇到了一个奇怪的问题,它真的开始让我烦恼。这是关于连接的不同行为。我只是想设置CakePHP,但PDO无法连接到mysql服务器。Okey,一步一步:这是一台新电脑,我刚刚安装了XAMPP(在Win7上)并下载了CakePHP。没有做任何其他事情。在phpMyAdmin上,我用PW“test”创建了一个用户“test”,他拥有数据库“test”。很简单,对吧?在这里,phpMysqlAdmin中用户/权限表的行:UserHostPasswordGlobalRightsGRANTtest%YesUSAGENo现在,进入真正的问题:这个有效:$link=mysql_connect('