Я использую процедуру SQL Server 2012 для выполнения с использованием php, и результат должен быть сохранен в таблице только на сервере SQL.
Я сталкиваюсь с этой проблемой, я могу получить данные из кода 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-скрипта
Удалить .'<br>'
из вашего запроса. Это разрыв строки HTML, SQL не может с этим справиться.
Вы всегда можете использовать sqlsrv_errors()
проверить наличие ошибок, если запрос не работает должным образом:
$res = sqlsrv_query($conn,$query);
if ( $res === false ) {
echo "Error in SQL query:";
var_dump( sqlsrv_errors() );
}
Других решений пока нет …