草庐IT

PDO_ODBC

全部标签

php - PDO:调用未定义的方法 DB::query()

试图掌握PDO但目前没有太多乐趣。我敢打赌这也非常简单。编辑:执行此操作的更好方法是什么?即而不是将它包装在一个类中?类/DB.class.php:getMessage();}}}?>包括/global.inc.php:connect();?>索引.php:query("SELECT*FROMusers");echo"";print_r($STH->fetch());?> 最佳答案 您的数据库类中没有数据库属性和query()方法。像这样添加它:classDB{protected$db_name="PDO";protected$db

php - 此 PDO 代码如何防止 SQL 注入(inject)?

所以我正在研究整个PDO事情,并且在阅读这篇博客教程时遇到这段代码,解释是如果我将PDO与数据绑定(bind)一起使用-用户将无法添加SQL注入(inject)。这是如何工作的?#noplaceholders-ripeforSQLInjection!$STH=$DBH->("INSERTINTOfolks(name,addr,city)values($name,$addr,$city)");#unnamedplaceholders$STH=$DBH->("INSERTINTOfolks(name,addr,city)values(?,?,?);#namedplaceholders$ST

php - MySQL PDO - 设置默认获取模式?

所以今天,我终于完成了从标准PHPMySQL函数到PDO的转换。我注意到在将数据作为对象获取时,我们必须运行类似于以下的行:$STH=$DBH->query('SELECTname,addr,cityfromfolks');$STH->setFetchMode(PDO::FETCH_OBJ);$result=$STH->fetch();我的问题是关于第2行的。有没有办法将其设置为默认行为,这样我们就不需要在每次希望运行查询时都设置获取模式?这对我来说似乎很烦人。肯定没有必要这样做吧? 最佳答案 您可以为PDO对象设置默认的获取模式:

php - 调试 PDO mySql 将 NULL 插入数据库而不是空的

我正在尝试使用PDO将“NULL”动态插入到数据库中。表结构:CREATETABLEIFNOTEXISTS`Fixes`(`Id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'PK',`CurrencyId`int(11)NOTNULLCOMMENT'FK',`MetalId`int(11)NOTNULLCOMMENT'FK',`FixAM`decimal(10,5)NOTNULL,`FixPM`decimal(10,5)DEFAULTNULL,`TimeStamp`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDAT

php - PDO 错误 (42000)

这个问题在这里已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL(1个回答)关闭8年前。我正在使用PHPPDO将数据插入我的数据库表中,看起来像这样(称为stb_committee_members):Field|Type--------------------id|int(10)(unsigned)stb_group_id|int(10)(unsigned)name|varchar(50)(canbenull,defaultNULL)position|varchar(50)(canbenull,def

mysql - 使用 ODBC 连接器的 VBA/MySQL 问题

我这几天一直在纠结这个问题。非常感谢任何帮助。尝试在PC上使用ExcelVBA连接到MySQL数据库:Excel2007Windows7x64家庭高级版MySQL5.5MySQLODBC连接器5.1,64位在ExcelVBA中,我引用了MicrosoftActiveXObjects2.8库。我用来连接的VBA是:DimoConnAsADODB.ConnectionPublicSubConnectDB()SetoConn=NewADODB.ConnectionoConn.Open"DRIVER={MySQLODBC5.1Driver};"&"SERVER=localhost;"&"DAT

php - 动态更改 PDO 语句中的列名

这个问题在这里已经有了答案:CanIuseaPDOpreparedstatementtobindanidentifier(atableorfieldname)orasyntaxkeyword?(1个回答)关闭3年前。是否可以在准备好的MySQL语句中将列名作为参数传递?举个例子:UPDATEImagesSET:placement=:imageURLWHEREID=:titleID;PDO在每个参数周围添加了',所以上面的中间一行变成:SET'Homepage'='1.jpg'MySQL不喜欢哪个。有没有办法在PDO语句中包含字段名的参数并接受它们?否则我想我将不得不编写几个不同的PDO

Mysql/PDO - 设置变量

我在尝试设置变量然后在select语句中使用它时遇到问题。我一直收到“一般错误”,无法弄清楚我做错了什么。任何输入将不胜感激。我正在尝试使用带有命名参数的子查询来设置变量。$query=$dbh->prepare("Set@available=(SELECTSUM(payments)FROMpaymentsWHEREcustomer=:customer)-(SELECTSUM(charges)FROMchargesWHEREcustomer=:customer);SELECT@available");$query->bindParam(":customer",$customer);$q

PHP PDO 将数组转换为不同的格式

我正在尝试使用phppdo中未弃用的技术转换通过以下代码获得的数组:$stm=$conn->prepare("SELECT*FROMmysqltable");$stm->execute();$results=$stm->fetchAll(PDO::FETCH_ASSOC);print_r($results);使用fusioncharts所需的格式如下[{label:"CJAnderson",value:"25"},{label:"ImranTahir",value:"25"},......]原数组如下:Array([0]=>Array([Id]=>6[Number]=>12345678

PHP/PDO : Prepared statements don't work when creating a table?

当我使用PDO准备语句,并使用它向查询插入表名时,它失败了,一个简单的例子:$stmt=$dbh->prepare("CREATETABLE?(idfoo,intbar,...)");$stmt->execute(Array('table_foobar'));它所做的只是将?替换为'table_foobar',单引号不允许为我创建表格!我最终需要在准备好的语句的顶部执行sprintf以添加预定义的表名。我到底错过了什么? 最佳答案 我在手册中找不到任何明确的内容,但查看用户贡献的注释,参数的使用仅用于实际值,而不是表名、字段名等。应