草庐IT

PDO_DBLIB

全部标签

php - PDO PARAM_STR 和长度

我不明白PDOPARAM_*语句中的长度选项。长度是否表示所需字符的数量,还是最大值?例子:$sth->bindParam(2,$color,PDO::PARAM_STR,12);这需要12个字符,还是限制为12个字符?或者,我是否完全误解了这是在做什么? 最佳答案 它表示您希望在输出参数中接收多少数据,服务器不会发送超过此数量的数据。因此,要回答您的问题,这是一个限制而非要求。 关于php-PDOPARAM_STR和长度,我们在StackOverflow上找到一个类似的问题:

php - 制作用于 Hook PDO 查询的 databaseDo() 函数

所以我开始了thistutorial作为PHPPDO的介绍。到目前为止,我只处理过基本的mysql_*类型查询。我注意到,在整个教程中,connect->doaction->disconnect模式不断重复,只有doaction部分发生了变化。在现实世界中,通过创建一个可以将查询传递到其中的函数来消除重复是否是个好主意?例如:处理查询的函数:getMessage();}?>然后,假设我想执行PDO教程第一个示例中的操作,我会这样设置:exec($query);echo$exec;};//PerformactiondatabaseDo($insert);?>$dbh的范围我使用$dbh作

PHP 无法加载动态库 "php_pdo_oci.dll"

我在Windows8上运行Apache2.4.7和PHP5.5.9。我安装了PHPUnit,这个警告图像“警告”开始弹出。是的,我在php.ini和“extension_dir”中启用了扩展加载以更正文件夹,并且该文件夹中有一个名为“php_pdo_oci.dll”的文件。我尝试使用不同的apache和php版本,但没有帮助。有什么解决方法的建议吗? 最佳答案 ..._oci.dll是OracleC接口(interface)的一部分。除非你需要使用Oracle,否则我建议你去php.ini文件中的相关行,取消注释这个扩展的加载。但是

php - PDO : insert 3 rows instead in mysql when i insert just 1 row

我在我的php框架(flight)中使用PDO,但我遇到了一个荒谬的问题。当我将1行插入mysql时,我看到插入了3行。Flight::db()->query("INSERTINTO`menu_item`(`order`,`menu_cat_id`)VALUES(22,1)");这是我的全部代码:setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND,"SETNAMES'utf8'");$db->exec("SETNAMES'utf8';"

PHP PDO - mysqli_num_rows 的替代方案

在mysqli中,我可以使用mysqli_num_rows从选择查询中获取行数。我找不到不用像SELECTCOUNT(*)这样的单独查询就可以用PDO做到这一点的方法吗?当我已经有一个记录集时,我看不到进行单独查询的意义。 最佳答案 您可以按照记录使用SQL_CALC_FOUND_ROWShere.例如:$result=$db->prepare("SELECTSQL_CALC_FOUND_ROWSid,nameFROMfruitWHEREcalories>100");$result->execute();$result=$db->p

PHP PDO 扩展不适用于 IIS

我有一个使用__autoload()来加载类的脚本(愚蠢的,我知道,这是我用来娱乐/测试的旧代码),它似乎试图自动加载PDO。这让我相信它没有找到它应该找到的PDO类。我已经检查了php.ini和php_pdo.dll以及php_pdo_mysql.dll等。.dll文件存在于“ext/”中,我已经多次重新启动Web服务器。我对IIS没有太多经验,但我从未在Linux上遇到过这个问题,所以我不确定问题出在哪里。如有任何帮助,我们将不胜感激。编辑:PDO不在phpinfo()中。我知道它加载不正确,我想找出原因。这是我的php.ini文件:php.inionPasebinC:\Progr

PDO从SQLITE上选择额外的空白行

这涉及一个SQLITE数据库,PHP7和PDO。查询代码是:...$stmt=$pdo->query('SELECT*FROMimages');while($row=$stmt->fetch(\PDO::FETCH_ASSOC)){$images[]=["image_id"=>$row["image_id"],"date"=>$row["date"],"photographer"=>$row["photographer"],...];}echo$stmt->rowCount()."rows";echocount($images)."images";var_dump($images);retur

使用PDO和.MDB访问使用替换,并使用PHP搜索

我正在尝试编写一个MySQL查询,该查询将匹配表中的名称,并且数据库中的名称可以包含点或没有点。所以,例如我想要我的查询字符串fast符合所有这些:fast,f.ast,f.a.s.t等等我使用PHP,并连接到.MDB数据库。我在这里尝试了我发现的东西,没有成功(我会遇到错误):SELECT*FROMtableWHEREreplace(col_name,'.','')LIKE"%fast%"我认为用于MDB数据库的PDO缺少一些功能:(有解决方案吗?看答案感谢Doug,我解决了:$variable=implode("[.]",str_split($variable))."[.]";和:SELE

PHP脱离类PDO连接失败

我无法在班级外部建立PDO连接。浏览器给出500个错误。我想在课堂上编写PDO代码。我正在做全球变化,但事实并非如此。try{$pas=newPDO('mysql:host=localhost;dbname=tets','root','123');$pas->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$pas->exec("SETCHARACTERSETutf8");//returnallsqlrequestsasUTF-8}catch(Exception$e){echo$e->getMessage();}/**UserAva

具有集成安全性的 PHP PDO 连接到 SQL Server?

我可以使用mssql驱动程序使用PDO和集成安全连接到SQLServer2008吗?目前正在做这样的事情来正常连接:$db=newPDO("mssql:host=host;dbname=db","user","pass");这在使用SQLServer身份验证时效果很好,但是必须为大量数据库创建SQLServer登录是一件很痛苦的事情,因此如果可能的话最好使用集成安全性。我在Windows上将PHP作为CLI运行。 最佳答案 这个网站帮助:SQLServerDriverforPHP:UnderstandingWindowsAuthen