这个问题涉及到:
PHP版本5.3.6
我试图使用PHP和SQL Server 2005或2008的组合正确检索记录插入的ID.
这个问题假定存在下表:
CREATE TABLE users([id] [int] IDENTITY(1,2) NOT NULL,[username] [varchar](50) NOT NULL,[password] [varchar](40) NOT NULL,[first_name] [varchar](30) NOT NULL,[last_name] [varchar](30) NOT NULL)
如果我在Management Studio中运行以下查询或通过ASP(Classic)运行,将插入一条记录并返回一个ID,但PHP和此驱动程序似乎不存在相同的行为.
INSERT INTO users (username, password, first_name, last_name) VALUES ('x','x','x','x') ; SELECT @@IDENTITY ;
我需要帮助找出如何通过将SQL语句链接在一起或通过任何其他方法正确地提取ID.
我编写了一些代码.
变体1是一个简单的选择(通过查询) - 没有执行插入或ID检索
变体2是一个链式SQL语句,它正确插入新记录,但不返回ID
变体3使用(执行)而不是(查询).插入记录,但不返回ID.这个生成错误,因为sqlsrv_execute返回true/false而不是记录集.
那么如何修改我的代码以插入记录并检索ID呢?(我工作的这个问题的答案将扩展到存储过程返回数据,以及假设,但也许事实并非如此)
谢谢.
// Database connection
// -------------------------------------------------------------------------------------------------------
$conn = sqlsrv_connect(DB_SERVER,array("UID" => DB_USER, "PWD" => DB_PASSWORD, "Database"=> DB_NAME ));
// Variation 1, straight select
// -------------------------------------------------------------------------------------------------------
$sql = "SELECT * FROM users;"; …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何在PHP中验证电子邮件?
PHP是否具有内置函数,用于确定电子邮件地址是否格式正确.我知道它不能出去检查电子邮件是否真的有效; 我所说的只是确认电子邮件地址在结构上是正确的.
我在Windows上使用PHP 5.3.6并连接到SQL Server 2008数据库.
根据MSDN的文档,有两个驱动程序供我选择.
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
关于如何使用每个文档的文档很棒,但我不确定为什么我会使用一个而不是另一个.
有人可以提供一些基本差异(除语法之外)以及为什么一个比另一个更好的洞察力?
我正在将ASP应用程序转换为PHP,并且难以转录日期验证功能.
在ASP中,我有函数isDate(),它允许我验证日期,无论其格式如何.因此,如果有人输入以下任何内容,isDate()将返回true:
1/1/2012
January 1, 2012
Jan 12, 2010 1:00 pm
1/1/2012 1:32 pm
Run Code Online (Sandbox Code Playgroud)
好处是我可以让用户以他们选择的任何格式输入数据和时间.之后,只需很少的努力,我就可以在不进行任何后期处理的情况下更新数据库(假设返回true).例如:
UPDATE my_table SET date_field = @date_var WHERE my_id = @id_var
[note: SQL Server 2008]
Run Code Online (Sandbox Code Playgroud)
使用PHP,我发现验证日期/时间更复杂.我已经回顾了这里发布的各种问题以及文档,似乎没有一种简单的方法来轻松验证日期或时间或日期/时间组合.
我想知道是否有可用于完成咕噜声工作的课程.有些东西会像isDate()一样工作,并根据用户输入的日期/时间/日期和时间向我发送一个真/假.
谢谢.
我想使用IIS7的URL Rewrite模块根据特定模式创建301重定向.
我有一个仅包含.HTML文件的网站.我正在将网站转换为.PHP文件,但保留所有相同的文件名.例如,以下网址......
/index.html
/contact/contact.html
/membership/member.html
Run Code Online (Sandbox Code Playgroud)
会变成...
/index.php
/contact/contact.php
/membership/member.php
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何创建此规则?
谢谢.