草庐IT

PDO_ODBC

全部标签

PHP PDO MySQL 在没有行受到影响时检查更新查询是否成功的正确方法

当使用phppdo和mysql时,判断更新查询是否成功的可靠方法是什么?在我的应用中,我更新了除用户之外提交的项目的总数,表格如下所示:项目userId|itemsAdded|itemsChecked|itemsUnChecked|itemsTotal1|5|2|3|5因此,当我执行updateitemssetitemTotals=itemsChecked+itemUnChecked时,itemsTotal列保持不变,除非itemsAdded更改并且itemsUnChecked递增(2+3等于5,1+4也是5)。我曾经使用rowCount()来检查查询是否成功,但在这种情况下,由于it

php - 为什么 PDO 不允许同名的多个占位符?

我正在使用PHP和带有PDO的MySQL。有时我需要准备一个语句,其中一个变量(占位符)在此查询中使用了不止一次。例子:SELECT*FROMmessagesWHEREfrom_id=:userORto_id=:user但是,如果我尝试准备此声明,我将遇到错误,因此我需要以如下方式执行此操作:SELECT*FROMmessagesWHEREfrom_id=:user1ORto_id=:user2要调用这个语句,我需要有一个这样的数组:array('user1'=>$user_id,'user2'=>$user_id);在我看来这太愚蠢了!为什么MySQL(PDO?)不允许我多次使用一个

c# - C# 应用程序中插入语句时 MySql ODBC 5.1 驱动程序的内存分配错误

我有一个用C#编写的.NETWndows应用程序。这是一个使用MySql5.1数据库社区版的简单Windows应用程序。我已经下载了MySqlODBC驱动程序,并在我的本地计算机上为我的数据库创建了一个dsn。在我的应用程序中,我可以毫无问题地执行get类型查询,但是当我执行给定的插入语句时(我没有尝试执行任何其他语句),我收到以下错误:{“错误[HY001][MySQL][ODBC5.1驱动程序][mysqld-5.0.27-community-nt]内存分配错误”我在WindowsXP机器上运行。我的机器有1GB的内存。有人有想法么?看下面的代码OdbcConnectionMyCo

php - 将 PHP PDO 查询编写为 `dbName` .`tableName` 而不是 `tableName` - 为什么?

我正在用PHPPDO编写一个用户注册函数,我发现我的查询只有这样写才能正常运行:setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$query=$dbh->prepare("INSERTINTOproject.users(userName,userEmail)VALUES(?,?)");.....另一方面,如果我这样写它就不会运行:...$query=$dbh->prepare("INSERTINTOusers(userName,userEmail)VALUES(?,?)");...在这种情况下,我会收到以下错误消息:Fata

php - 何时以及如何通过 PHP (PDO) 使用多个 MySQL 查询

除了最小化代码之外,在一个语句中使用多个MySQL查询有什么好处。如何使用PHP(最好是PDO)执行、检索和显示在一个语句中发送的多个MySQL查询的结果。 最佳答案 mysql_query()不支持多查询。但是,有一些解决方法:http://www.dev-explorer.com/articles/multiple-mysql-querieshttp://php.net/function.mysql-query 关于php-何时以及如何通过PHP(PDO)使用多个MySQL查询,我们

php - 使用 PHP PDO 检查用户名是否存在

如何使用PDO检查用户名是否存在?我只需要知道一个booltrue(存在)或false(不存在)。我已设置初始部件,但不确定下一步该做什么$sthandler=$dbhandler->prepare('SELECTusernameFROMuserdbWHEREusername=?LIMIT1');$sthandler->execute(array('username'));//...What'snext? 最佳答案 检查行数:if($sthandler->rowCount()>0){//dosomethinghere}

PHP MYSQL PDO 列的总和

我是php的新手,过去一个小时我一直在搜索并阅读我能找到的所有文档,但没有任何帮助。我有一个包含一堆数据行的表。我试图从整个表格中选择一列并将它们全部添加在一起。这是我得到的。所有这些告诉我的是有多少行与我的查询相匹配,而不是我想要的列的总和。感谢您的帮助。$res1=$db->prepare('SELECTsum(distance)FROMtrip_logsWHEREuser_id='.$user_id.'ANDstatus="2"');$res1->execute();$sum_miles=0;while($row1=$res1->fetch(PDO::FETCH_ASSOC)){

Java ODBC 数据源( undefined symbol : SQLAllocEnv )

我有以下Java代码。此代码的目的是建立连接到远程MySQL数据库ProductionDb(在我的/etc/odbc.ini文件中定义的数据源)。importjava.sql.*;importjava.util.*;importjava.io.*;publicclassTest{publicstaticvoidmain(String[]args){try{Connectionconn=null;PreparedStatements=null;Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";Class.forName(driver).newInst

PHP PDO fetch 返回一个数组?

$GetUid=$dbConnect->prepare("SELECTUIDFROMusersWHEREusername=:username");$GetUid->execute($RegisterData3);$UserID=$GetUid->fetch();为什么它返回数组而不是字符串?var_dump('$UserID')说array'UID'=>string'45'(length=2)0=>string'45'(length=2)应该是array'UID'=>string'45'(length=2)更新*那0呢?它从哪里来?感谢您的回复。 最佳答案

php - 如何将行数组传递给 PDO 以插入它们?

我想使用PDO准备语句,但我发现输入它真的很耗时。如果有一个函数只传递以下关联数组,那将非常有用:array("title"=>$title"userid"=>$userid"post"=>$body)请记住,数组中的键始终与SQL表中的行相匹配。重述所有内容,这应该会减少键入:foo并在执行函数中再次键入它们的工作。我专门讨论INSERT查询。怎么做? 最佳答案 functionpdo_insert($table,$arr=array()){if(!is_array($arr)||!count($arr))returnfalse;