无法使用php脚本将数据插入数据库

时间:2016-01-20 05:31:58

标签: php sql-server-2012

我正在使用Sql server 2012程序使用php执行,结果应该只存储在sql server上的表中。 我正面临这个问题,我可以从php代码中获取数据但是当我将该数据插入表中时,只插入了一个值。我可以在屏幕上看到不同的值 当我运行php script.but回到数据库时,只插入第一个值。 我没有得到我错的地方。 请帮我解决一下这个。 提前谢谢。

while ($obj = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC  ))

{

     if($obj['Bank_Name']!= $obj['Bank_Name_old'])
            {       
            $obj['company_code']; 
            $obj['Account_Code'];
            $obj['Bank_Name']; 
            $obj['Bank_Name_old'];
            $obj['field_name']='Bank Name';

             if($obj['field_name']='Bank Name')
            {   
                $old=$obj['Bank_Name_old'];     
                $new=$obj['Bank_Name']; 
            }
                    $query="insert into vns_db.dbo.client_details_log (company_code,client_id,field_name,original_value,new_value) values ('".$obj['company_code']."',
                            '".$obj['Account_Code']."','".$obj['field_name']."','$old','$new')".'<br>'; 
                            $res = sqlsrv_query($conn,$query);
                            echo $res;
                            echo $query;
            }   

这是php脚本输出

enter image description here

1 个答案:

答案 0 :(得分:1)

从查询中删除.'<br>'。这是一个HTML换行符,SQL无法处理它。

如果查询无法按预期运行,您始终可以使用sqlsrv_errors()检查错误:

$res = sqlsrv_query($conn,$query);
if ( $res === false ) {
  echo "Error in SQL query:";
  var_dump( sqlsrv_errors() );
}