mssql_bind没有发布数据 [英] mssql_bind not posting data

查看:77
本文介绍了mssql_bind没有发布数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮忙,我正在研究一个项目,这不是将数据发布到sql



它发布的所有数据都没问题,除了 mdo 数据



 mssql_bind($ stmt,' @ mdo',$ mdo,SQLVARCHAR, false,false,3); 









< b>下面的PHP代码



 $ stmt = mssql_init(  sp_InsertOffenderAndUpdateCaseNewAuto); //是原始的
// set params for 商店 Proc 罪犯传递信息来自第2页 用户后退箭头
mssql_bind( $ stmt ' @ offenderForename', $ offenderforename ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ offenderSurname ' $ offendersurname ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ offenderCRN ' $ offendercrn ,SQLVARCHAR,false,false, 50 );
mssql_bind( $ stmt ' @ offenderDOB ' $ offenderdob ,SQLVARCHAR,false,false, 10 );
// mssql_bind( $ stmt ' @offenderOffenses' $ offenses ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ offenderPrisonNumber ' $ prisonnumber1 ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ offenderPrisonLocation ' $ prisonlocation ,SQLVARCHAR,false,false, 255 );
// 下面的行是使用的 添加数据 数据库电话号码 for OM manager
mssql_bind( $ stmt ' @ offenderTelNo' $ telephoneno ,SQLVARCHAR,false,false, 30 );
//设置params 商店 Proc for 更新案例信息传递信息来自第二页 用户后退箭头
mssql_bind( $ stmt 3 );
mssql_bind( $ stmt ' @ sentensedate ' $ sentensedate ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ court ' $ court ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ sentense ' $ sentense ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ remand ' $ remand ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ offendermanager ' $ offendermanager ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ location ' $ location ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ dateofsentense ' $ dateofsentense ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ hdc ' $ hdc ,SQLVARCHAR,false,false, 10 );
mssql_bind( $ stmt ' @ ard ' $ ard ,SQLVARCHAR,false,false, 10 );
mssql_bind( $ stmt ' @ led ' $ led ,SQLVARCHAR,false,false, 10 );
mssql_bind( $ stmt ' @ sed ' $ sed ,SQLVARCHAR,false,false, 10 );
mssql_bind( $ stmt ' @ hospitalorder ' $ hospitalorder ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ referral ' $ referral ,SQLVARCHAR,false,false, 255 );
mssql_bind( $ stmt ' @ id ' $ vrecid ,SQLINT4,false,false, 10 );
mssql_bind( $ stmt ' @ offenderid ' $ offenderid ,SQLINT4,true,false, 10 );

$ tmp = mssql_execute( $ stmt );













存储程序:



 USE [VictimDBJHv2] 
GO
/ ******对象:StoredProcedure [dbo ]。[sp_UpdateOffender]脚本日期:06/10/2013 22:47:49 ****** /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo]。[sp_UpdateOffender]
@offenderForename as varchar(255)= null,
@offenderSurname as varchar(255)= null,
@offenderCRN as varchar(50 )= null,
@offenderDob as varchar(255)= null,
@offenderPrisonNumber as varchar(255)= null,
@offenderPrisonLocation as varchar(255)= null,
@offenderTelNo as varchar(30)= null,
@mdo varchar(3)= null,
@id int,
@offenderid int OUTPUT
as
UPDATE Offender
SET offenderForename = @ offenderForename,offenderSurname = @ offenderSurname,
offenderCRN = @ offenderCRN, offenderDob = convert(datetime,@ offenderDob,103),
offenderPrisonNumber = @ offenderPrisonNumber,
offenderPrisonLocation = @ offenderPrisonLocation,offenderTelNo = @ offenderTelNo,mdo = @ mdo
where offenderid in(
从offendercase选择oc.offenderid为oc,maincase为m,offender为o,其中m.id = @id和
m.id = oc.caseid和o.offenderid = oc.offenderid和oc.firstoffender = 1 )


SET @offenderid =(从offendercase选择oc.offenderid为oc,maincase为m,
offender为o,其中m.id = @ id和
m.id = oc.caseid和o.offenderid = oc.offenderid和oc.firstoffender = 1)

返回@offenderid









============================ =



第二存储程序





 USE [VictimDBJHv2] 
GO
/ ******对象:StoredProcedure [dbo]。[sp_InsertOffenderAndUpdateCaseNewAuto]脚本日期:06/10/2013 21:32:58 ****** /
SET ANSI_NULLS ON
GO
SET QU OTED_IDENTIFIER ON
GO

ALTER PROC [dbo]。[sp_InsertOffenderAndUpdateCaseNewAuto]
@offenderForename as varchar(255)= null,
@offenderSurname as varchar(255)= null,
@offenderCRN as varchar(50)= null,
@offenderDob as varchar(255)= null,
@offenderPrisonNumber as varchar(255)= null,
@offenderPrisonLocation as varchar(255)= null,
@offenderTelNo as varchar(30)= null,
@mdo as varchar(3)= null,
@sentensedate varchar(255)= null,
@court varchar(255)= null,
@sentense varchar(255)= null,
@remand varchar(255)= null,
@offendermanager varchar(255)= null ,
@location varchar(255)= null,
@dateofsentense varchar(255)= null,
@hdc varchar(255)= null,
@ard varchar(255) = null,
@led varchar(255)= null,
@sed varchar(255)= null,
@hospitalorder varchar(255)= null,
@referral varchar( 255)= null,
@id int,
@offenderid int输出
as
--declare @offenderid as i nt
--declare @caseid as int
BEGIN TRANSACTION Tran1
BEGIN

exec sp_UpdateOffender @ offenderForename,@ offenderSurname,@ offenderCRN,@ offenderDob,@ offenderPrisonNumber,@ offenderPrisonLocation,@ offenderTelNo,@ mdo,@ id,@ offenderid OUTPUT

exec sp_UpdateCaseNew @ sentensedate,@ court,@ sentense,@ remand,@ offendermanager,@ location,@ dateofsentense,@ hdc,@ ard ,@ led,@ sed,@ hospitalorder,@ referral,@ offenderPrisonNumber,@ offenderPrisonLocation,@ id

exec sp_InsertTargetContactDate @ sentensedate,@ id
--exec sp_InsertOffenderCase @offenderid,@ id

结束
IF @@ ERROR = 0
BEGIN
COMMIT
返回@offenderid
结束
ELSE
BEGIN
ROLLBACK TRANSACTION Tran1
END

解决方案

stmt,&#39; @ mdo&#39;,


mdo,SQLVARCHAR,false,false,3);









以下PHP代码



 


stmt = mssql_init( sp_InsertOffenderAndUpdateCaseNewAuto); //是原始的
// set params Store < span class =code-keyword> Proc for 罪犯传递信息来自第二页< span class =code-keyword>当 用户后退箭头
mssql_bind(

please help, I am working on a project and this is not posting the data to the sql

its posting all the data ok except from the mdo data

mssql_bind($stmt, &#39;@mdo&#39;, $mdo, SQLVARCHAR,false,false,3);





PHP Code below

$stmt= mssql_init("sp_InsertOffenderAndUpdateCaseNewAuto");// was the original
    //set params for Store Proc for offender passed information from 2nd page when user pressed back arrow
    mssql_bind($stmt, '@offenderForename', $offenderforename, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@offenderSurname', $offendersurname, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@offenderCRN', $offendercrn, SQLVARCHAR,false,false,50);
    mssql_bind($stmt, '@offenderDOB', $offenderdob, SQLVARCHAR,false,false,10);
    //mssql_bind($stmt, '@offenderOffenses', $offenses, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@offenderPrisonNumber', $prisonnumber1, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@offenderPrisonLocation', $prisonlocation, SQLVARCHAR,false,false,255);
    //the line below is the one used to add data to database tel number for OM manager
    mssql_bind($stmt, '@offenderTelNo', $telephoneno, SQLVARCHAR,false,false,30);
        //set params for Store Proc for updated case info passed information from 2nd page when user pressed back arrow
    mssql_bind($stmt, '@mdo', $mdo, SQLVARCHAR,false,false,3);
    mssql_bind($stmt, '@sentensedate', $sentensedate, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@court', $court, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@sentense', $sentense, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@remand', $remand, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@offendermanager', $offendermanager, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@location', $location, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@dateofsentense', $dateofsentense, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@hdc', $hdc, SQLVARCHAR,false,false,10);
    mssql_bind($stmt, '@ard', $ard, SQLVARCHAR,false,false,10);
    mssql_bind($stmt, '@led', $led, SQLVARCHAR,false,false,10);
    mssql_bind($stmt, '@sed', $sed, SQLVARCHAR,false,false,10);
    mssql_bind($stmt, '@hospitalorder', $hospitalorder, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@referral', $referral, SQLVARCHAR,false,false,255);
    mssql_bind($stmt, '@id', $vrecid, SQLINT4,false,false,10);
    mssql_bind($stmt, '@offenderid', $offenderid, SQLINT4,true,false,10);

    $tmp=mssql_execute($stmt);







Stored procedures:

USE [VictimDBJHv2]
GO
/****** Object:  StoredProcedure [dbo].[sp_UpdateOffender]    Script Date: 06/10/2013 22:47:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[sp_UpdateOffender]
@offenderForename as varchar(255) = null,
@offenderSurname as varchar(255) = null,
@offenderCRN as varchar(50) = null,
@offenderDob as varchar(255)  = null,
@offenderPrisonNumber as varchar(255)  = null,
@offenderPrisonLocation as varchar(255)  = null,
@offenderTelNo as varchar(30)  = null,
@mdo varchar(3) = null,
@id int,
@offenderid int OUTPUT
as
UPDATE Offender 
SET offenderForename=@offenderForename, offenderSurname=@offenderSurname,
offenderCRN=@offenderCRN, offenderDob=convert(datetime,@offenderDob,103),
offenderPrisonNumber=@offenderPrisonNumber,
offenderPrisonLocation=@offenderPrisonLocation, offenderTelNo=@offenderTelNo,mdo=@mdo
where offenderid in (
select oc.offenderid from offendercase as oc, maincase as m, offender as o where m.id=@id and
m.id=oc.caseid and o.offenderid=oc.offenderid and oc.firstoffender = 1)


SET @offenderid = (select oc.offenderid from offendercase as oc, maincase as m,
 offender as o where m.id=@id and
m.id=oc.caseid and o.offenderid=oc.offenderid and oc.firstoffender = 1)

return @offenderid





=============================

2nd stored procedure


USE [VictimDBJHv2]
GO
/****** Object:  StoredProcedure [dbo].[sp_InsertOffenderAndUpdateCaseNewAuto]    Script Date: 06/10/2013 21:32:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROC [dbo].[sp_InsertOffenderAndUpdateCaseNewAuto]
@offenderForename as varchar(255) = null,
@offenderSurname as varchar(255) = null,
@offenderCRN as varchar(50) = null,
@offenderDob as varchar(255)  = null,
@offenderPrisonNumber as varchar(255)  = null,
@offenderPrisonLocation as varchar(255)  = null,
@offenderTelNo as varchar(30)  = null,
@mdo as varchar(3) = null,
@sentensedate varchar(255) = null,
@court varchar(255) = null,
@sentense varchar(255) = null,
@remand varchar(255) = null,
@offendermanager varchar(255) = null,
@location varchar(255) = null,
@dateofsentense varchar(255) = null,
@hdc varchar(255) = null,
@ard varchar(255) = null,
@led varchar(255) = null,
@sed varchar(255) = null,
@hospitalorder varchar(255) = null,
@referral varchar(255) = null,
@id int,
@offenderid int output
as
--declare @offenderid as int
--declare @caseid as int
BEGIN TRANSACTION Tran1
BEGIN

exec sp_UpdateOffender @offenderForename,@offenderSurname,@offenderCRN,@offenderDob,@offenderPrisonNumber,@offenderPrisonLocation,@offenderTelNo,@mdo,@id, @offenderid OUTPUT

exec sp_UpdateCaseNew @sentensedate,@court,@sentense,@remand,@offendermanager,@location,@dateofsentense,@hdc,@ard,@led,@sed,@hospitalorder,@referral,@offenderPrisonNumber,@offenderPrisonLocation,@id

exec sp_InsertTargetContactDate @sentensedate,@id
--exec sp_InsertOffenderCase @offenderid, @id

END
IF @@ERROR = 0
					BEGIN
						COMMIT 
return @offenderid
					END
				ELSE
					BEGIN
						ROLLBACK TRANSACTION Tran1
END

解决方案

stmt, &#39;@mdo&#39;,


mdo, SQLVARCHAR,false,false,3);





PHP Code below


stmt= mssql_init("sp_InsertOffenderAndUpdateCaseNewAuto");// was the original //set params for Store Proc for offender passed information from 2nd page when user pressed back arrow mssql_bind(


这篇关于mssql_bind没有发布数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆