草庐IT

php - 带有 $_POST 的 PDO bindParam 不工作

我一直在搜索和搜索并尝试各种东西,但我就是无法正常工作。谁能看到我做错了什么?我对PDO很陌生,并试图用很多其他东西来解决这个问题。如果我手动提交一个值而不是尝试绑定(bind)它,我可以使以下内容起作用,但我想使用占位符。我得到了一个'Array'的值,有时MySQL响应:name导致语法无效......我已经尝试重新排列绑定(bind)的值,但我无法得到它来返回值。我有一个插入部分,它工作正常,但我在这里搞砸了一些东西和查询本身。我很感激你能帮助我的任何方向。这让我发疯:注意:由于这只是一个测试,数据库中包含的所有内容都是姓名和电话列(当我越过这些障碍物时会展开)。PDO::ERR

php - 多少数据对于 PDO fetchAll() 来说太多了

我在这里搜索过,但使用我能想到的搜索词找不到任何东西。这里可能有另一篇帖子可以回答我的问题,但我没有找到。PHP手册指出:Usingthismethodtofetchlargeresultsetswillresultinaheavydemandonsystemandpossiblynetworkresources.它还继续说您应该使用WHERE和ORDERBY来减轻负担,这非常有意义。但这仍然没有回答这个问题,多少算太多?您将如何定义太大的结果集?例如,我为正在创建的类编写了这段代码:publicfunctiongetQuestions($quiz_id){$quiz_id=paren

php - 创建一个 PHP PDO 数据库类,OOP 的麻烦

这是我当前的数据库类:classDatabase{private$db;functionConnect(){$db_host="localhost";$db_name="database1";$db_user="root";$db_pass="root";try{$this->db=newPDO("mysql:host=".$db_host.";dbname=".$db_name,$db_user,$db_pass);}catch(PDOException$e){die($e);}}publicfunctiongetColumn($tableName,$unknownColumnNam

php - SQLite3/PDO - 虽然确实存在但没有这样的表

我的SQLite3数据库有问题,我可以使用sqlite3命令或PHPStorm内置数据库管理器访问它,但我正在处理的应用程序找不到其中的表。它似乎正确连接到数据库。这行PHP导致PDOException:$query="SELECT*FROMusers";$results=self::$app->db->query($query);异常只是SQLSTATE[HY000]:Generalerror:1nosuchtable:users。顺便说一句,我正在使用Slim框架。我真的不知道该怎么做,因为我是Slim和SQLite的新手。谢谢你的帮助:-) 最佳答案

php - 使用 Zend_Db 时 pdo_mysql 与 mysqli

如果我使用Zend_Db类从后端数据库抽象我的查询,我使用哪个mysql驱动程序,pdo_mysql与mysqli有区别吗?我对pdo_mysql的理解是它也提供抽象,所以我假设如果我使用Zend_Db,那么无论如何我都不会利用作为mysqli一部分的额外功能。但是,从性能角度来看,一个比另一个更快吗? 最佳答案 Zend_Db,一般来说,是基于PDO及其各种适配器,如pdo_mysql。mysqli适配器仅针对那些使用未随PDO提供的服务器/主机的用户开发。就性能而言,我认为pdo_mysql和mysqli之间没有太大区别;从未听

PHP + PDO : Bind null if param is empty

我正在尝试这个(并且所有PoSTvar在用户发送之前都被处理,不用担心SQL注入(inject)):$stmt=$con->prepare($sql);$stmt->bindParam(":1",$this->getPes_cdpessoa());$stmt->bindParam(":2",$this->getPdf_nupessoa_def());当这些变量中的任何一个为NULL时,PDO会哭泣并且不让执行我的语句,并且在我的表上,我允许这些字段为nullables。有什么方法可以检查值是否为空,pdo只需将NULL绑定(bind)到then(我的意思是,一种聪明的方法,而不是if(

php - PHP 中带有 PDO 语句的 print_r 应该返回什么?

$dbh=newPDO("sqlite:/Library/WebServer/Documents/nwind2009.db3");$sql="SELECT*FROMCustomers";print_r($dbh->query($sql));返回:PDOStatement对象([queryString]=>SELECT*FROMCustomers)但如果我这样做:foreach($dbh->query($sql)as$row){echo$row['CompanyName'];}我得到了数据。为什么print_r不显示数据库结果?foreach中发生了什么特别的事情?我认为print_r向

php - 如何防止显示 PDO 错误?

当PDOexecute()出现错误时,出于某种原因输出错误?我如何防止这种情况....我想将错误存储到$data['error']if(!$query->execute()){$data['success']='false';echojson_encode($data);return;}来自控制台日志:Warning:PDOStatement::execute()[pdostatement.execute]:SQLSTATE[HY093]:Invalidparameternumber:numberofboundvariablesdoesnotmatchnumberoftokensinC

php - 与 mysql_query 相比,使用 PDO::query 是否有任何安全优势?

我想重构一些遗留的PHP代码,我知道PDO通过添加准备好的语句等更安全,但我想知道使用PDO::是否有任何安全优势query()方法与mysql_query()方法。有吗? 最佳答案 除了PDO或mysql_*中的错误外,数据库查询的安全问题取决于正在运行的查询,而不是用于连接到数据库的内容。如果您使用userdata创建一个不安全的查询并使用PDO::query()执行它,它与使用mysql_query()一样不安全。同样,如果您有安全查询,使用PDO::query()运行它实际上与使用mysql_query()相同。

c# - .NET 类似于 PHP 的 PDO?

我来自PHP,最终我会深入研究NHibernate或MicrosoftEntityFramework之类的东西,但现在我真的只是喜欢一些简单的东西,比如用于连接数据库的PHPPDO:$db=newPDO('sqlite:database');$db->exec('deletefromusers');PDO抽象了数据库上的连接(无论它是什么,不仅仅是sqlite)并提供了一些常用方法来执行准备好的语句和东西。.NET中有这么简单的东西吗?obs:我刚开始使用C#,所以如果您能非常具体地说明如何将库链接到项目或其他设置步骤(如果需要),我将不胜感激(:~我正在使用VS2012