我正在使用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脚本输出
答案 0 :(得分:1)
从查询中删除.'<br>'
。这是一个HTML换行符,SQL无法处理它。
如果查询无法按预期运行,您始终可以使用sqlsrv_errors()
检查错误:
$res = sqlsrv_query($conn,$query);
if ( $res === false ) {
echo "Error in SQL query:";
var_dump( sqlsrv_errors() );
}