草庐IT

PDO_ODBC

全部标签

php - 如何在使用 PDO 时设置 SQL 模式?

我正在尝试设置SQL模式,但我不知道如何使用PDO进行设置。我正在尝试在MySQL中设置传统模式并且不允许无效日期。有人能帮忙吗? 最佳答案 这仅适用于您的连接。该命令将在PDO连接后立即运行:$pdo=newPDO($dsn,$username,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SETsql_mode="TRADITIONAL"'));参见PHP:MySQL(PDO)参见5.1.6.ServerSQLModes 关于php-如

php - 无法通过引用传递参数 2 - uuid PDO

我正在尝试将UUID()与我的INSERT查询一起插入。$handle->beginTransaction();//Definequery$query="INSERTINTOusers(users_uuid,type_id)VALUES(:uuid,:type_id)";//Preparestatement$stmt=$handle->prepare($query);//Bindparameters$stmt->bindParam(':uuid',"SELECTUUID()",PDO::PARAM_STR);$stmt->bindParam(':type_id',1,PDO::PARA

mysql - 通过 Microsoft SQL Server 的 ODBC 在 MySQL 中选择 * 的问题

我有一个MySQL服务器作为MicrosoftSQLServer2008中的链接服务器。对于链接,我使用MySQLODBC连接器版本5.1.8。使用OPENQUERY(我发现执行查询的唯一方法)调用查询时,会出现问题。简单的查询,比如SELECT*FROMOPENQUERY(MYSQL,'SHOWTABLES')工作正常。选择单个列,例如,SELECT*FROMOPENQUERY(MYSQL,'SELECTnrFROMletter')也可以正常工作,但SELECT*语法不起作用。查询:SELECT*FROMOPENQUERY(MYSQL,'SELECT*FROMmytable')引发错

php - PDO 连接从命令行工作,但不是通过 Apache?

我有一个非常简单的测试脚本:query($SQL)as$row){print$row['phrase']."\n";}?>当我从命令行执行这个脚本时,它运行良好:$phptest.phpcorporalpunishmentStretchesvoluntaryagenciesandtheresettlementofrefugeesmusicandlearningNikeTigerWoodsScandalHermeneiaPSYCHINFOanthonybourdainBlack-WhiteCouplesandtheirSocialWorldscolonization,hodge但是当我通

php - PDO 在 PHP5.4 中将整数列作为字符串返回

首先,我知道在SO上有各种类似的问题,例如this和this.但是,当我从表中获取值时,整数总是作为字符串获取。我正在使用PHP5.4(5.4.16-1~dotdeb.1)和MYSQL5.5(5.5.31+dfsg-0+wheezy1)。它写成hereMySQLNativeDriver在PHP5.4.0中默认启用。但我仍然得到字符串值。我按如下方式初始化一个PDO对象。try{$dsn='mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8';$db=newPDO($dsn,DB_USER,DB_PASS);$db->setAtt

php - PDO::query 与 PDOStatement::execute(PHP 和 MySQL)

我扩展了PDO类以创建一个简单的DB类,目前对所有运行到数据库的查询使用prepare+execute,即使是那些没有参数的查询(例如SELECT*FROMtable)。问题是:对于没有参数的简单查询实际使用PDO::query代替准备/执行是否有性能优势? 最佳答案 是的,因为当你调用PDO::prepare时,服务器必须为该查询创建一个查询计划和元信息,然后在你使用时绑定(bind)指定参数会有额外的开销>PDO::执行。因此,为了节省这种开销并提高性能,您可以使用PDO::query进行不带参数的查询。但是,根据您的应用程序的

mysql - 无效的 PDO 查询不返回错误

下面的第二个SQL语句在phpMyAdmin中返回一个错误:SET@num=2000040;INSERTINTOartikel(artikel_nr,lieferant_nr,bezeichnung_1,bezeichnung_1)SELECT@num:=@num+1ASanum,70338,f2,f3FROMimportWHEREid>1MySQL说:#1110-Column'bezeichnung_1'specifiedtwice全部正确。但是当我使用这个函数在Symfony1.4中运行查询时://runsqlquery//http://erisds.co.uk/symfony/s

php - 无法使用 PDO 连接到 MySQL 服务器

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭8年前。Improvethisquestion我有一个PHP脚本,用于连接到MySQL数据库。通过mysql_connect的连接工作完美,但在尝试使用PDO时出现以下错误:SQLSTATE[HY000][2005]UnknownMySQLserverhost'hostname'(3)我用来连接的代码如下:setAttribute(PDO::A

mysql - 如何将 mysql_data_seek 与 PDO 一起使用?

我想将mysql_data_seek与来自谷歌搜索的PDO一起使用,我发现它应该如下所示:$row0=$result->fetch(PDO::FETCH_ASSOC,PDO::FETCH_ORI_ABS,0);但是它不起作用,我做错了什么?这是我的代码:$query="SELECTname,ageFROMusers";$q=$db->prepare($query);$q->execute();$q->setFetchMode(PDO::FETCH_ASSOC);$arrayData=$q->fetchAll();foreach($arrayDataas$row){echo$row['n

php - PDO 不适用于端口

我正在尝试使用PDO连接到外部数据库。$dbh=newPDO('mysql:host=hotsname;port=3309;dbname=dbname','root','root');但是,这不适用于我拥有的一台特定服务器。我以为可能只允许某个主机,但我检查了mysql规则,还在我个人的服务器上尝试了这段代码,并且连接正常。所以我知道代码可以正常工作,并且它们在我这边没有阻塞,并且防火墙正在接受对端口3309的请求并将其传递到端口3306上的正确服务器。所以问题只出在一台服务器上。作为测试,我想我会打开端口3306来测试代码而不指定端口。$dbh=newPDO('mysql:host=