草庐IT

PDO_mssql

全部标签

php - 使用 Zend/PDO 构建查询时如何使用 MySQL 函数

我将ZendFramework与PDOMySQL适配器一起使用,我想在我的插入语句中使用一个函数。基本上,我要生成的SQL是这样的:INSERTINTO`myTable`(`leftId`,`rightId`,`date`)VALUES($left,$right,NOW())这是我模型中的代码:$data=array("leftId"=>$left,"rightId"=>$right,"date"=>"NOW()");$this->insert($data);这会尝试插入"NOW()"而不是NOW():Generalerror:1292Incorrectdatetimevalue:'N

php - PDO:绑定(bind)时使用 data_type 的目的是什么?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:PhpPDO::bindParamdatatypes..howdoesitwork?例如,我有以下准备好的语句:$sth=$dbh->prepare('SELECT`name`FROM`user`WHERE`user_id`=:user_id');我可以像这样绑定(bind)user_id参数:$sth->bindValue(':user_id',$user_id_value);而且我仍然可以免受SQL注入(inject)攻击。但是,bindValue()还有一个名为data_type的可选参数,它允许您设置

php - 在 PDO(使用 MySQL)中执行 INSERT 后获取最后插入的行?

当将一个新对象(作为一行)插入MySQL数据库时,我想取回最后插入的行(id并不总是足够的,因为我想在一些INSERT没有任何的通用函数中使用它自动递增的ID)。我需要它来成功返回完整的对象,可能是数据库创建的ID、时间戳,或者在某些情况下只是我在插入之前知道的值-所以PDO::lastInsertId不能解决问题。$query="INSERTINTOtable(".$colinsert.")VALUES(".$colbind.")";$stmt=$this->db->prepare($query);$ex=$stmt->execute();//...if$exwassuccessfu

MySQL/PDO 截断数据

$book是一个7kb的字符串。如果使用PHPPDOexec执行此查询,则monograph列(LONGTEXT)数据将在6765个字符处被截断:echostrlen($book);//output7157$db->exec("UPDATE`chemicals`SET`monograph`={$db->quote($book)}WHERE`id`={$db->quote($c['id'])};");但是,如果我打印查询并使用SQL客户端(绕过PHP)执行它,它会将所有数据插入数据库。这让我觉得这是我还不熟悉的PHP设置。请注意,如果我使用准备好的语句(包括PDO::PARAM_LOB)

php - 如何使用 Zend 获取有关此 PDO MySql 错误的更多信息

在我的PHP脚本中,我运行了一个更新语句,如下所示:$this->_db->update('names',$data,$this->_db->quoteInto('id=?',$obj->id));数据库句柄是一个Zend_Db_Adapter_Abstract实例(PDOMySql变种)。问题是更新失败,我似乎无法获得有关该错误的更多信息。错误发生在try/catchblock中。当我发现错误时,我运行:$db->getProfiler()->getLastQueryProfile();输出是:2012-11-14T22:20:02+11:00INFO(6):Zend_Db_Prof

php - pdo 相对于 mysql_* 或 mysqli_* 的优势

这个问题在这里已经有了答案:mysqliorPDO-whataretheprosandcons?[closed](13个答案)关闭9年前。我注意到很多人正在使用或迁移到pdo,我以前从未使用过它,我真的很不愿意改成那个,反正我仍然没有改变,但我想知道那些人每天都使用pdo为什么我应该改成那个,我的意思是它比mysql_*或mysqli_*有什么优势,我已经在谷歌上搜索了很多,但我还没有找到满意的答案。谢谢

php - PDO fetchAll() 返回一个空数组

在我的代码中,我试图使用PDO从我的数据库中获取数据并绑定(bind)参数,但我一直在获取空数组,这是我的代码:try{$pdo=newPDO('mysql:host=localhost;dbname=***','***','***');$pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_EXCEPTION);$pdo->query('setnames"utf8"');}catch(PDOException$e){die('errorconnectindatabase');}$table='products';$column='id';$

php - PDO UPDATE 似乎不存储引号?

我刚刚开始使用PDO方法,现在我被一个小问题困住了。如果我创建一个表单来将名字和姓氏插入数据库,我可以使用以下代码插入所有类型的特殊字符:try{$db=newPDO('mysql:dbhost='.$dbhost.';dbname='.$dbname,$dbuser,$dbpass);$db->exec("SETCHARACTERSETutf8");}catch(PDOException$e){echo$e->getMessage();}$query=$db->prepare("INSERTINTOusers(fname,lname)VALUES(:fname,:lname)");$

Windows 中的 PHP 5.5.21/Apache 2.4/MySQL 5.6.22 出现 PHP PDO "could not find driver"错误

我有一个带有PDO的简单.php文件setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$sql="CREATETABLEregistration_tbl(idINTNOTNULLAUTO_INCREMENT,PRIMARYKEY(id),nameVARCHAR(30),emailVARCHAR(30),dateDATE)";$conn->query($sql);}catch(Exception$e){die(print_r($e));}echo"Tablecreated.";?>当我执行这个php文件时,我可以看到这个错误消息

php - M2ePro frensh 安装上的 Pdo 查询异常

我们已经安装了一个新的Magento1.9.2.1安装和M2ePro6.3.6版本,到目前为止没有自定义。当我们点击M2ePro菜单选项时,我们在Pdo.php上找到以下错误:SQLSTATE[42S22]:Columnnotfound:1054Unknowncolumn'`group`'in'whereclause',querywas:SELECTCOUNT(*)FROM`m2epro_primary_config`AS`main_table`WHERE(```group```='/modules/')AND(```key```='m2epro')错误出在Magento生成的查询上,