草庐IT

PHP DBlib PDO 问题

我正在尝试通过php连接到MSSQL服务器,但我的pdo连接给我带来了困难和我并不真正理解的错误。我在下面粘贴的代码一周前工作得很好,突然间它就停止了,没有任何人改变任何东西。我仍然可以连接到服务器并直接从命令行运行查询,但我在php中没有同样的运气。有人看到我遗漏的东西吗?我已经在这上面花了太多时间,看起来我在原地转圈。首先,这是我从PDOException中得到的错误SQLSTATE[](null)(severity0)我的Mssql()的一部分privatefunction__construct(){try{$this->_pdo=newPDO('dblib:host='.Con

php - PDO_MSSQL 和 SQL Server 7

我在使用PDO/PHP与不同服务器上的sqlserver7建立连接时遇到问题。在win200332位/apache/php5.2.5上一切正常,但在win2008R264位/apache/php5.2.5上运行服务时我收到找不到服务器。用户/密码正确,防火墙已配置。我检查过,PHP不使用1433端口,但尝试连接445和139端口。有什么想法吗?斯特凡 最佳答案 已更新;您可以使用PDOODBC连接选项:PHP:PDO_ODBCDSN.我以前使用这种方法从Win2003和2008连接到SQLServer

php - PDO 连接数据库错误

我试图在我的本地机器上运行我的项目,但它带来了以下错误:ERRNO:2TEXT:PDO::__construct()[pdo.--construct]:php_network_getaddresses:getaddrinfofailed:Therequestednameisvalid,butnodataoftherequestedtypewasfound.LOCATION:C:\xampp\htdocs\rsecrets\business\database_handler.php,line25,atDecember4,2012,12:46pm我是如何定义连接的:define('DB_P

php - 在没有 PDO 的情况下使用 PHP for SQL Server 防止 SQL 注入(inject)

这个问题在这里已经有了答案:HowtoescapestringsinSQLServerusingPHP?(14个答案)关闭9年前。我可以尽可能多地清理和验证我的输入,但这绝对不能涵盖所有内容,如果我足够努力、足够彻底地擦洗,我将完全删除我的输入。我知道有很多关于这个主题的帖子,但似乎他们总是回到PDO或Mysql(是的-即使有人发布有关SQLServer的帖子,他们收到的一半答案建议mysql_real_escape_string-疯狂的世界)。我不能使用任何一个。即使在我打字时,屏幕右侧会出现一些“类似问题”,但我一直点击各种链接,但没有任何内容能完全回答我的问题。我正在使用SQLS

php - 从单个 PDO 数组实例化多个 PHP 对象(无样板)

如果你想从数据库中获取单个对象,PDO非常有用:$obj=$handle->fetchAll(PDO::FETCH_CLASS,$obj_name);如果您希望在一行中返回多个类类型(例如:在执行JOIN时),PDO的用处不大:$handle->fetchAll(PDO::FETCH_ASSOC);...followedbysomedatamappingontheresultingarray.很好-除了我想出的每一种方法看起来都很糟糕。我的问题是:当该数组的内容可能反射(reflect)全部、没有、部分或超过上课?示例:给定一个PDO从数据库返回的数组$vars=('a'=>1,'b'

php - Windows 服务器上的 OCI8 php 扩展安装

我在使OCI8在我的服务器安装上运行时遇到了具体问题。第一次设置:Win2008服务器32位ZendServerforPHPwithApache2.2没有php_oci8文件的PHP版本5.3.14没有安装oracle东西我需要能够连接到远程oracle数据库,所以我发现应该使用OCI8扩展。为了使OCI8工作,我还应该至少需要服务器上的OracleInstantClient,因为某些DLLOCI8需要。我做了什么?从他们的站点(oracledownloadsite)下载了OracleInstantClient,版本11.2.0.4.0解压到文件夹中,我选择ProgramFiles/o

php - PDO 使用外键创建表

我在使用带有外键元素的MySQL(PDO)创建表时遇到困难,没有外键表创建正常,但没有我收到此消息:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有误;我曾尝试寻找解决方案并调整代码,但似乎一直遇到这个问题。有解决办法还是我是个笨蛋?setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//sqltocreatetheactivityregisteredtable$sql="CREATETABLEActivity_Register(Activity_idINT(6)UNSIGNEDAUTO_INCREM

php - 如何在 php 中使用 oci_new_collection?

我正在尝试使用php5调用存储过程,我的问题是如何正确使用“oci_new_collection”函数?我在php站点上找不到任何示例。对于需要传递给存储过程的变量之一,它使用此自定义用户定义表类型...SQL>descparameter_tableparameter_tableTABLEOFPARAMETER_TYPENameNull?Type----------------------------------------------------------NAMEVARCHAR2(200)VALUEVARCHAR2(4000)所以我的猜测是我需要使用oci_new_collecti

PHP PDO 潜在的逻辑错误

我是PHP新手,想知道为什么这段代码没有向数据库插入任何内容(返回0)。我确定这一定是一个逻辑错误,因为我没有收到任何错误消息。classDbConnection{protected$db_conn;public$db_host="localhost";public$db_name="todo";public$db_user="root";public$db_pass="";functionconnect(){try{$this->db_conn=newPDO("mysql:host=$this->db_host;dbname=$this->db_name",$this->db_use

PHP PDO GO 附近语法不正确,MSSQL 到 sqlsrv

这个问题在这里已经有了答案:Incorrectsyntaxnear'GO'(9个回答)关闭5年前。我在使用PHP和PDO执行长MSSQL脚本时遇到问题。它包含一些由GO分隔的批处理语句。如果脚本在ManagementStudio中执行,它就会运行。我已确保行结尾不会导致问题。我还尝试在执行请求之前启用beginTransaction()。返回以下错误:SQLSTATE[IMSSP]:Thisfunctionisnotimplementedbythisdriver.我正在使用IIS8和PHP5.4.16以及pdo_sqlsrv驱动程序脚本的第一部分:USEfoo;IFobject_id(