使用插入/获取的对象参数执行SQL查询,从而产生错误

时间:2014-08-11 20:30:51

标签: php sql class object

我正在尝试使用OO Php,这对我来说是个新事物(好吧,Php也是如此)。以下行有错误:

class.OLAPdatabase.php:

switch($color){
    case "2":  //this is first case
    $sqlQry = "UPDATE VisEData SET ParameterValue = '" . $tempObj->Yevaluation . "' where MeasurementID = '" . $tempObj->parameterDesc . "' and TestUnitID = '" . $tempObj->parameterID . "' and ColorID = '" . $color . "'";
    break;
...

被引用的类看起来像这样:

class.ViseParameter.php:

class ViseParameter  
{  
   var $parameterID = null;
   var $parameterDesc = null;
   var $Yevaluation = null;
   var $Mevaluation = null;
   var $Cevaluation = null;
   var $Kevaluation = null;
   var $Comments = null;

   //**********************************************************
   //                  -[ F_u_n_c_t_i_o_n_s ]-
   //**********************************************************
   function __construct() 
   {}  // END - Constructor
   //**********************************************************
   function __destruct() 
   {}  

UPDATE行的错误消息是:

error updating VisEData with case 2Error in statement preparation/execution. Array ( [0] => Array ( [0] => 22018 [SQLSTATE] => 22018 [1] => 245 [code] => 245 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Conversion failed when converting the varchar value 'PR Spots Marks' to data type int. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Conversion failed when converting the varchar value 'PR Spots Marks' to data type int. ))

我已经知道ViseParameter类中的数据很好。 我知道我的更新语句工作正常,如果我将字符串变量放入我有$ tempObj-> Yevaluation类型的东西的地方,但这是第一次使用类中的数据进行更新。例如,更新工作正常:

$sqlQry = "UPDATE VisEData SET ParameterValue = '" . $Yevaluation . "' where MeasurementID = '" . $MCBands . "' and TestUnitID = '" . $TestUnitID . "' and ColorID = '" . $YColor . "'";

我在网络搜索中没有看到太多支持信息,但这不是一个简单的问题。

这是使用MS SQL 2008 R2。

0 个答案:

没有答案