草庐IT

pdo_parse_params

全部标签

php - 检查 PDO 中的 session ID 是否为 ISSET

我正在切换到PDO准备好的语句,但我在获取和使用sessionID的代码中遇到了问题。当客户注册时,session_id设置为等于user_id(自动递增),并且在用户返回时以相同方式设置session_id。这在切换到PDO之前工作正常,但现在session_id在任何后续页面上都无法识别(它正在将“user_id”视为null)我需要切换到使用PDOsession处理程序,还是有办法继续使用我熟悉的方法?mysql-这是我用来设置sessionID的代码(正常工作)://Statementsdefining$user_name,$passwordand$hashedPassword

php - 在涉及 PDO 事务的嵌套原子操作方面需要帮助

我有两个可以独立使用的不同模块,但是Module2依赖于Module1。模块2有一个操作需要是原子的,它调用模块1中的一个操作也需要是原子的。假设我已将PDO::ATTR_ERRMODE设置为PDO:ERRMODE_EXCEPTION,以下高度通用化和截断的代码会产生以下结果:PHPfatalerror:未捕获的异常“PDOException”和消息“已经有一个事件事务”模块1:pdo->beginTransaction();try{$stmt=$this->pdo->prepare(...);...$this->pdo->commit();}catch(Exception$ex){$

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 - 带有 IN(?) 的 mySQL bind_param

这个问题在这里已经有了答案:Howtobindanarrayofstringswithmysqlipreparedstatement?(6个答案)关闭去年。在所有查询中使用bind_param,我现在想使用IN(?),其中列表中的元素数量可以变化。我在这里使用的SQLout函数基本上执行$sql_db->prepare、->bind_param、->execute(),->store_result(),->bind_result//thecodebelowdoesnotworkasthequeryonlymatchesonelement'a':$locations=('a','b','

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 - SOAP 错误 : Parsing WSDL: Couldn't find <definitions> in

我正在尝试从远程服务器使用SOAP网络服务,wsdl文件位于此处http://ecolinthcm.pi-asp.de/logaserver/services/UsersService?wsdl我一直与那里的开发人员保持联系,但他们一直告诉我它工作正常,所以他们帮不上什么大忙......我正在使用这段小代码戳熊看它是否还活着:$WSDL="http://ecolinthcm.pi-asp.de/logaserver/services/UsersService?wsdl";//thefile_get_contentsmethodsdoesn'tchangetheendresultunfo

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