草庐IT

u2-pdo-driver

全部标签

php - 使用PDO时如何获取原始表/列名?

借助PHP的mysqli扩展,我可以使用fetch_field()方法通过orgname和获取列和表的原始(无别名)名称结果中的orgtable。PDO提供了方法getColumnMeta(),但是没有提供原始表名和列名的信息;它只返回别名。是否有其他方法可以使用PDO获取此信息?我一直在考虑从SQL查询中解析信息,但我希望有更漂亮的解决方案...SELECTidAScol1,sessionAScol2FROMsessionsAStable1;使用PDOStatement::getColumnMeta()的结果:Array([native_type]=>LONG[flags]=>Arr

php - 将空字符串绑定(bind)到 pdo 准备查询时出现 HY104 Sql 服务器错误

我应该将一个应用程序从mssql函数移动到PDO。一切都运行得很顺利,直到我发现自己遇到了一个我似乎无法解决的小错误。这是我准备好的请求:$req_action="INSERTINTO[".DB_SCHEMA."].[dbo].[".ACTION_TABLE."]([ID_CONTACT],[ID_ADN],[TYPE_ACTION],[MOTIF_ENTRANT],[COMMENTAIRES_APPEL],[CODE_CAMPAGNE],[EMAIL],[SUJET],[STATUT_EMAILING],[DATE_ENVOI],[DELAI_OUVERTURE],[MAIL_CLI

php - 使用已建立的 PDO 连接与 Doctrine Master/Slave 连接

我在现有软件中采用Doctrine,并希望Doctrine与遗留代码共享相同的PDO连接。我知道你可以像这样告诉Doctrine使用已建立的连接:$em=EntityManager::create(['pdo'=>$pdo],$ormConfiguration);我无法找到主/从连接的正确组合。这是我期望的工作:$em=EntityManager::create(['wrapperClass'=>\Doctrine\DBAL\Connections\MasterSlaveConnection::class,'master'=>['pdo'=>$pdoMaster],'slaves'=>

php - 使用来自 Lumen 的 PHP PDO 调用 SQL Server 存储过程以获得返回值会出现语法错误

我正在尝试从SqlServer存储过程中获取返回值。但它在我使用FreeTDS的Ubuntu服务器中出现语法错误。SQLSTATE[HY000]:Generalerror:20018Incorrectsyntaxnear'0'.[20018](severity15)[(null)]下面是我的代码:$stateId=1;$testData=0;$retVal=0;$pdo=DB::connection(env('DBCONNECTION'))->getPdo();$stmt=$pdo->prepare('EXEC?=GetMyCities_sp@StateID=?,@TestData=?

php - pdo-odbc 不适用于绑定(bind)值,nvarchar 和文本在等于运算符中不兼容

有一列url(nvarchar(200),notnull)setAttribute(PDO::ATTR_PERSISTENT,false);$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);//plainsqlquery:WORKSFINE!$sth=$pdo->prepare("SELECTCOUNT(*)FROMpaginaWHEREurl='/webito'");$sth->execute();//usingbindValue:ERROR!$sth=$pdo->prepare("SELECTCOUNT(*)FRO

php - 连接到 MS SQL 数据库时出现 PDO 错误 "Adaptive Server is unavailable"

我正在尝试连接到在Windows服务器上运行的SQL服务器数据库。我在Linux服务器(centos7)上运行此PHP代码。我正在使用以下pdo连接字符串连接到数据库。$db=newPDO("dblib:192.168.2.1;dbname=TestDB","username",'pass');当我运行代码时,出现以下异常。带有消息“SQLSTATE[HY000]无法连接:AdaptiveServer不可用或不存在(严重性9)”的“PDOException”我已尝试使用tsql测试连接,我能够毫无错误地连接到数据库。以下代码为我提供了TestDB中所有表的列表。如果我没有先输入useT

PHP, PDO SQL server, 返回数据中去掉前导0

我正在研究PHP+SlimFramework。我必须将MySQL迁移到SQLServer。SELECT语句的返回结果有问题。这是我的示例数据,╔════╦═══════╦════════════╦════════════╦═══════════════════════╗║id║item_id║lat║lng║timestamp║╠════╬═══════╬════════════╬════════════╬═══════════════════════╣║1║1║51.42743450║-0.72776696║2017-07-0509:54:49.000║║2║1║51.5966550

php - PHP PDO(使用 libpq V 9.1.4)绑定(bind)以使用 CITEXT 的解决方法?

场景运行以下版本的PHP和PostgreSQL的两个系统(不是服务器)软呢帽15:PHPPHP5.3.13(cli)(built:May9201214:38:35)Copyright(c)1997-2012ThePHPGroupZendEnginev2.3.0,Copyright(c)1998-2012ZendTechnologiespdo_pgsqlPostgreSQL(libpq)Version9.0.7Moduleversion1.0.2PostgreSQLPostgreSQL9.1.4WithCITEXTextensionenabled.ArchLinux:PHPPHP5.4.

PHP PDO : How to insert multiple rows?

我有很多sql语句,但我想要,但我想知道是否有任何方法或函数可以使用PHPPDO缩短并在尽可能少的行中执行。我的一个想法是创建一个具有以下名称的数组:Perfiles、Usuarios、Customer、Mps、Poliza和Servicios在一起就像foreach,但我没有具体的想法,你能帮我吗?SQL语句$sqlpermsPer="INSERTINTOt_perfiles_permisos(Id_Perfil,Area_Permiso,Buscar,Crear,Eliminar,Modificar)VALUES($idPerfil,'Perfiles',0,0,0,0)";$re

php - 使用 Flashbag 的 Symfony2 PDO session

我正在使用Symfony2.3.1(这个问题也出现在2.2中)和session.handler.pdo,但是当我像这样添加一个flashbag消息时:$this->get('session')->getFlashBag()->add('success',"Yourmessagehasbeensent.");return$this->redirect($this->generateUrl('home'));重定向后它不会显示在主页上,直到我按刷新,然后它才会显示。所以它需要显示2个请求。如果我将session存储改回native,这个问题就消失了。知道为什么会这样吗?我使用以下代码在Tw