草庐IT

PDO_mssql

全部标签

php - PDO::fetch() 限制 1

这个问题在这里已经有了答案:Doesadding'LIMIT1'toMySQLqueriesmakethemfasterwhenyouknowtherewillonlybe1result?(5个答案)关闭8个月前。我是否需要使用PDO的fetch()方法编写LIMIT1?这假设我只需要一个结果。我想知道,使用LIMIT1是否有助于节省资源和加载时间?

php - PDO::PARAM_INT 是多余的吗?

当与$db->quote()函数一起使用时,PDO::PARAM_INT是否执行任何功能?例如$db->quote($user['id'],PDO::PARAM_INT)?似乎是这样,因为即使是字符串输入也会通过。更不用说它保留整数周围的引号。我为什么要使用它? 最佳答案 它没有任何效果,因为毕竟您正在运行quote函数。它被引号括起来是很自然的。PDO::PARAM_INT在其他上下文中可能更重要,例如准备好的语句,在这些上下文中它的实际处理方式与字符串不同。quote可能更关心不应引用或应以不同方式引用的其他数据类型,例如PDO

PHP PDO mysql 计算返回的行数

这方面有很多问题,我也做了很多研究。但是,我仍然想知道我这样做是否正确。这是我的声明(我已经简化了):try{$stmt=$pdc_db->prepare("SELECT*FROMtableWHEREcolor=:color");$stmt->bindValue(':color',$selected_color);$stmt->execute();$color_query=$stmt->fetchAll();}catch(PDOException$e){catchMySQLerror($e->getMessage());}现在,我正在使用以下方法查看是否返回了任何结果:if(count

mysql - mssql转mysql出错

我正在创建一个使用mssql计算问题集的过程。我在下面发布该查询。现在我想将以下查询转换为mysql但它返回错误。请帮助我修复此错误..我的部分查询在这里...selecttrainPrecent1=(selectdistinct(fldprecentage)fromprecentagewherefldgroup='Training'andfldset='First'),trainPrecent2=(selectdistinct(fldprecentage)fromprecentagewherefldgroup='Training'andfldset='Second'),agentPr

php - pdo 不从 mysql 函数中读取字符串

我正在使用以下代码从mysql函数读取String:prepare("CALLcheck_user_exists(?)");$stmt->bindParam(1,$value,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT,50);//callthestoredprocedure$stmt->execute();print"procedurereturned$value\n";echo"PDOconnectionobjectcreated";$dbh=null;}catch(PDOException$e){echo$e->getMessage();}?>这

php - 将 mySQL 插入和更新语句切换为 PDO 准备语句以防止 SQL 注入(inject)

我正在尝试将这些mySQlINSERTINTO和Update语句切换为PDO准备语句(主要是为了防止SQL注入(inject)),但我在正确使用语法方面遇到了一些困难。我目前使用2种类型的INSERT/Update语句:声明1-名称是硬编码的$qry="INSERTINTOcustomer_info(fname,lname,email,user_name,password)VALUES('$_POST[fname]','$_POST[lname]','$_POST[email]','$user_name','".sha1($salt+$_POST['password'])."')";$

php - PDO bindParam 是否允许不存在的变量?

在开发过程中,我设置了error_reporting(-1);,所以我确信每个语法错误都会由PHP显示。例如echo$ttt;当然可以Notice:Undefinedvariable:tttin...在这段代码中(某个类的一部分代表mysql表中的一行):publicfunctiondelete(){//...$sth=$dbh->prepare('DELETEFROMtobjectsWHEREIdObject=:id');$sth->bindParam(':id',$this->fid,PDO::PARAM_INT);$sth->execute();我输错了现在的$this->fid

php - PDO 返回的数组重复值

我使用PDO连接到MySQL数据库并获取所有数据。当我打印出数组时,值会重复。如何解决?谢谢连接到数据库:$db=newPDO("mysql:host=localhost:3306;dbname=$dbName",$user,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SETNAMESutf8"));$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);获取数据并打印结果:$result=$db->query("selectUserBirthday,UserAddress,Use

php - 使用包含空值的数组执行 PDO

这个问题在这里已经有了答案:WhydoesthisPDOstatementsilentlyfail?(1个回答)关闭去年。我需要更新一个数据库,我通过给它一个数组作为参数来使用PDO的execute()方法。我的想法是,当我尝试插入一个NULL值时它会给我一个错误...这是发送的查询/参数的示例:生成的查询:UPDATEtableSETname=?,id_extra1=?,id_extra2=?WHEREid_something=?参数数组:array(size=8)'name'=>string'testing'(length=6)'id_extra1'=>string'2'(leng

php - 散列密码并将其和盐保存到 mysql pdo utf8 编码

我有这个问题,如果不合适,请在评论中告诉我,我会放弃。事情是这样的:我用这段代码生成盐:$salt=mcrypt_create_iv(32);密码是这样的:$password=hash('sha256',$_POST['password'].$salt);并将$salt和$password保存到MYSQL数据库中,目前没有问题,如果我这样连接:$pdo=newPDO('mysql:host=hostname;dbname=defaultDbName','username','password');但如果我以其他方式连接:$pdo=newPDO('mysql:host=hostname;