2016-01-20 3 views
0

Я использую процедуру Sql server 2012 для выполнения с использованием php, и результат должен храниться в таблице только на сервере sql. Я столкнулся с этой проблемой, я могу получить данные из php-кода, но когда я вставляю эти данные в таблицу, вставляется только одно значение. Я могу видеть разные значения на моем экране , когда я запускаю php script.but обратно только на базу данных вставляется первое значение. Я не понимаю, куда я иду. , пожалуйста, помогите мне с этим. Спасибо заранее.Невозможно вставить данные в базу данных с помощью php-скрипта

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

+0

удалить.
'from $ query variable –

ответ

1

Удалить .'<br>' из вашего запроса. Это разрыв строки HTML, SQL не может справиться с этим.

Вы всегда можете использовать sqlsrv_errors(), чтобы проверить на наличие ошибок, если запрос не работает по назначению:

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

Thanks Gerald.worked for me –